Aquí el problema: contamos con una base de datos access, dentro de ella, una tabla llamada “miTablaOrigen”. Esta tabla es modificada mediante algún proceso periódicamente.
Esta tabla cuenta con un campo llave Autonumérico, que como todos saben no se puede “restaurar” a 0 a menos que la base de datos se Compacte y repare.
Claro esta, nosotros no queremos realizar este proceso por que es algo largo y consume mas recursos. Solo necesitamos reiniciar una tabla ahora imagínense compactar una base de al menos 1GB. ¿Como los solucionamos?
Copiando la estructura de la tabla a una tabla temporal, eliminando la tabla original y renombrando el “respaldo”. Simple ¿no?
El siguiente es un ejemplo de código en VBA/Access (El ejemplo funcionó también en la versión mas reciente 2007).
Sub PreparaTablaParaAlgo()
Dim cNomTbl As String
'Nombre de la tabla fuente.
cNomTbl = "miTablaOrigen"
'copiar estructura a nueva tabla: miTablaOrigenR
DoCmd.TransferDatabase acExport, "Microsoft Access", CurrentDb().Name, acTable, cNomTbl, cNomTbl & "R", True
'Eliminar la tabla original.
DoCmd.DeleteObject acTable, cNomTbl
'Renombrar la tabla anterior
DoCmd.Rename cNomTbl, acTable, cNomTbl & "R"
End Sub
Listo!! esto es todo lo que hay que hacer.
No hay comentarios:
Publicar un comentario