Access - Creación automática de ficheros

 
Vista:

Creación automática de ficheros

Publicado por Eduardo (10 intervenciones) el 12/08/2002 10:42:30
Hola,

Mi deseo es realizar una copia de una tabla a un fichero excel de manera autómática al presionar un botón y que dicho fichero pues se guarde con un nombre determinado que podría llamarse por ejemplo con la fecha en que se ejecuta. La idea es hacer una especie de copia de seguridad de las tablas en excel sin necesidad de crear un informe y vincularlo con excel "a mano" sino que todo el proceso se realice automáticamente al presionar un botón o bien que se realice de forma automática cada cierto tiempo..no se diariamente o algo asi...

Muchas gracias por adelantado
Salu2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Creación automática de ficheros

Publicado por Victoria (1530 intervenciones) el 12/08/2002 14:46:26
Hola
Espero que te sirva algo como esto, lo he probado y si funciona
Mira, create una tabla para guardar las fechas de las copias de seguridad que se van a hacer
En mi ejemplo se llama: tbCopiaSeguridad y tiene dos campos IdCopia (autonumérico) y fechaSeguridad (fecha/hora, formato largo)
El nombre del archivo Excel en que se van a guardar las copias, se va a llamar como tu indicas, con la fecha del dia de la copia en formato largo (Long Date)
Lo que hace este codigo es:
Primero mira la tbCopiaSeguridad, su último registro, si la fecha ACTUAL del sistema es mayor en DOS DIAS (aquí ya has de poner tu el valor de desees), entonces, crea un archivo Excel con los datos de tu tabla a guardar y nombrado como te he dicho, con la fecha del sistema en formato largo
Después, añade la fecha de la copia de seguridad en la tabla tbCopiaSeguridad mediante una consulta de datos anexados (importante)
Yo lo he situado en un botón a presionar, pero, si quieres que sea más mecánico, ponlo en un evento tal como: antes de salir del programa o lugar en que lo desees.
Ya me contarás
Victoria

Private Sub exportar_Click()
Dim mCad As String
Dim mRs As Recordset
mCad = "select * from tbCopiaSeguridad"
Set mRs = CurrentDb.OpenRecordset(mCad)
mRs.MoveLast
If Date - mRs!fechaSeguridad = 2 Then
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "tbNombres", "d:\" & Format(Date, "long date")
CurrentDb.Execute "INSERT INTO tbCopiaSeguridad (fechaSeguridad) VALUES (Date())"
End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar