2013-12-19

Eliminar múltiples tablas de errores de importación en Access

Title Es frecuente que al importar ficheros, Access cree nuevas tablas con los errores de importación (tabla_ErroresDeImportación). Tres opciones para eliminarlas son:

1. Si es una importación puntual lo lógico es eliminar dicha tabla manualmente.

2. Si es un procedimiento que ejecutamos frecuentemente, sería recomendable incluir dentro del código de importación una instrucción que elimine dicha tabla, especificando el nombre de la misma:

DoCmd.RunSQL "DROP TABLE [tabla_ErroresDeImportación]"
3. Si en nuestro proceso de importación de ficheros se generaran varias tablas de errores, podríamos adaptar este código y copiarlo en un módulo. En este caso, nuestro código elimina aquellas tablas que contengan la palabra errores:

Sub EliminarTblsErroresImport()
Dim db As DAO.Database, t As DAO.TableDef, i As Integer
   Set db = CurrentDb()
      For i = db.TableDefs.Count - 1 To 0 Step -1
         Set t = db.TableDefs(i)
         If t.Name Like "*errores*" Then
            db.TableDefs.Delete t.Name
         End If
      Next i
   db.Close
End Sub
Podemos asociar el código anterior a un botón en un formulario que elimine todas esas tablas cuando deseemos. También utilizar el método de llamada para ejecutarlo desde nuestra subrutina de importación

Call EliminarTblsErroresImport
Las ventajas de esta tercera opción son:
  • Flexibilidad: no es necesario escribir el nombre exacto de la tabla de errores generada. Solo especificar una palabra que siempre incluirán dichas tablas: errores.
  • Más potente: elimina tantas tablas como errores generados.
  • Extensibilidad: podemos llamar dicha subrutina desde cualquier módulo y emplearla en cualquier base de datos Access.

Es necesario tener en referencias disponibles para Ms Access 2007 y 2010 Microsoft Office 12.0 Access database engine Object Library. En Ms Access 2003 Microsoft DAO 3.6 Object Library.

No hay comentarios:

Publicar un comentario

Nube de datos