Respaldar y Limpiar

Tengo una base en Access 97, la tengo divida en 2, en una parte tengo los datos y en otra los formularios, reportes, consultas. Etc.. Quiera hacer una aplicación dentro de mi base que me permita hacer respaldos periódicos de la base que contiene los datos del sistema.
La otra necesidad que tengo es la de al final del año debemos limpiar la base de datos para iniciar en cero para el siguiente año, aunque no todas las tablas deben limpiarse porque hay tablas que contienen datos que se son los mismos todos los años, pero la de los datos como proyectos, transferencias, etc.. Que son datos que cambian año con año deben primero respaldarse y después eliminarse pero esta operación de eliminar solo es al finalizar el año...
Agradecería mucho su ayuda si alguien tuviese la idea o la rutina para hacer esto porque son 8 sistemas que debo respaldar mensualmente y como debo hacer los respaldos exactamente 2 días después de finalizar un mes. Hay veces que no me da tiempo y se ingresa información del siguiente mes o tengo que para el uso de los isitemas haste que termine de copiar los archivos o resaldarlos de manera manual...
Gracias por todo y ojala pueda contar con su ayuda lo más pronto que les sea posible...

1 Respuesta

Respuesta
1
Para limpiar las tablas a final de año, create una tabla local en la base de datos del programa donde tengas inventariadas todas las tablas con su nombre y un campo tipo Si/no donde indiques si dicha tabla deba ser borrada. Prepara un bucle como el siguiente:
...
While not tabla.eof
if tabla("Borrar") then
SQL = "Delete From " & tabla("NombreTabla")
Docmd.runsql SQL
end if
tabla.movenext
Wend
Tabla. Close
( Previamente a ejecutar este proceso debes haber hecho copia de seguridad ).
Para hacer respaldos, si la aplicación se ejecuta diariamente te aconsejo que al entrar cada día en la aplicación compruebe la fecha, si es final de mes ( month(date()) <> month(dateadd("d", 1, date()) ) lance el proceso de copias, que no se como lo tienes montado, pero podría ser llamar a un ejecutable o .bat del sistema operativo ( usando un comando shell ) o usar un comando filecopy, un control active por que comprime (que hay varios en el mercado ). Otra posibilidad es un proceso externo al access, por ejemplo, un demonio del sistema operativo que se active periódicamente ( ver comando at del windows nt -instalando el servicio correspondiente- ).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas