Discussion:
Botón hacer copia de seguridad
(demasiado antiguo para responder)
Pedro M Glez
2004-09-20 17:26:30 UTC
Permalink
Hola a todos,

Quiero poner un botón dónde al pulsar me haga una copia de la base de
datos en como si fuera a las opciones del menú, hacer copia de seguridad
(es decir que me ponga la fecha de la copia como hace access).

¿Alguno tendría por ahí el código necesario o la función?

He visto en la página del Buho algunas utilidades así pero no para una
base de datos abierta, sino para usar desde otra base de datos, y esa no
es la cuestión.

Agradezco cualquier sugerencia, supongo que no seré al único que se le
ha ocurrido esto ;-)

Muchas gracias,

Pedro Muñoz
Emilio
2004-09-20 17:49:49 UTC
Permalink
Hola Pedro

mediante Visual Script, se puede hacer una copia de un archivo abierto, lo
ideal sería que te asegures de que todo está guardado. Ahi va

Function CopiaArchivo(strArchivo As String, strDestino As String)

Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")

fso.CopyFile strArchivo, strDestino
End Function
--
Saludos a ***@s desde Huelva
Emilio
miliuco56 ALGARROBA hotmail.com

Reglas de conducta de los grupos de noticias:
http://support.microsoft.com/default.aspx?scid=fh;ES-ES;newsreglas
Post by Pedro M Glez
Hola a todos,
Quiero poner un botón dónde al pulsar me haga una copia de la base de
datos en como si fuera a las opciones del menú, hacer copia de seguridad
(es decir que me ponga la fecha de la copia como hace access).
¿Alguno tendría por ahí el código necesario o la función?
He visto en la página del Buho algunas utilidades así pero no para una
base de datos abierta, sino para usar desde otra base de datos, y esa no
es la cuestión.
Agradezco cualquier sugerencia, supongo que no seré al único que se le ha
ocurrido esto ;-)
Muchas gracias,
Pedro Muñoz
Pedro M Glez
2004-09-20 19:07:13 UTC
Permalink
Gracias,

Pero esto donde lo pongo?

En un módulo, macro, función de un botón de comando?

Perdona, pero no sé mucho acerca de Visual Basid

Saludos

Pedro Muñoz
Post by Emilio
Hola Pedro
mediante Visual Script, se puede hacer una copia de un archivo abierto, lo
ideal sería que te asegures de que todo está guardado. Ahi va
Function CopiaArchivo(strArchivo As String, strDestino As String)
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile strArchivo, strDestino
End Function
Emilio
2004-09-20 19:56:39 UTC
Permalink
eso puedes ponerlo en el módulo de tu formulario o en un Módulo nuevo si
piensas usarlo en mas de un formulario.
Luego en el botón pones simplemente una llamada a la función , pasandole
como parámetros la ruta del archivo a copiar y la ruta del destino algo así:
CopiaArchivo "C:\Origen.mdb", "C:\Destino.mdb"
--
Saludos a ***@s desde Huelva
Emilio
miliuco56 ALGARROBA hotmail.com

Reglas de conducta de los grupos de noticias:
http://support.microsoft.com/default.aspx?scid=fh;ES-ES;newsreglas
Post by Pedro M Glez
Gracias,
Pero esto donde lo pongo?
En un módulo, macro, función de un botón de comando?
Perdona, pero no sé mucho acerca de Visual Basid
Saludos
Pedro Muñoz
Post by Emilio
Hola Pedro
mediante Visual Script, se puede hacer una copia de un archivo abierto,
lo ideal sería que te asegures de que todo está guardado. Ahi va
Function CopiaArchivo(strArchivo As String, strDestino As String)
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile strArchivo, strDestino
End Function
Búho
2004-09-20 18:05:34 UTC
Permalink
...mmmmm...no has buscado bien el la guew del buho ese...... ;-)
http://www.mvp-access.com/buho/ficheros/copiamdb.txt

habras visto como dices, otros ejemplos que utilicen FileCopy (No apta para
tu caso concreto) etc para copiar...pues aprovecha la estructura de esos
ejemplos y los adaptas con el codigo del anterior enlace, que copia ficheros
abiertos....y ya ta !!
--
Saludos desde Valladolid
Francisco Javier García Aguado
***@mvp-access.com
---
http://www.mvp-access.com/buho
http://www.mvp-access.com/foro
http://groups.msn.com/Access2000VisualBasic/
Mi Perfil de MVP en Microsoft:
http://tinyurl.com/6ysvu
---


---
Este correo ha sido testeado y no tiene virus (Al menos conocidos). Saludos
de Francisco Javier García Aguado (Buho)
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.766 / Virus Database: 513 - Release Date: 17/09/2004
a***@gmail.com
2015-05-27 10:20:25 UTC
Permalink
Post by Búho
...mmmmm...no has buscado bien el la guew del buho ese...... ;-)
http://www.mvp-access.com/buho/ficheros/copiamdb.txt
habras visto como dices, otros ejemplos que utilicen FileCopy (No apta para
tu caso concreto) etc para copiar...pues aprovecha la estructura de esos
ejemplos y los adaptas con el codigo del anterior enlace, que copia ficheros
abiertos....y ya ta !!
--
Saludos desde Valladolid
Francisco Javier García Aguado
---
http://www.mvp-access.com/buho
http://www.mvp-access.com/foro
http://groups.msn.com/Access2000VisualBasic/
http://tinyurl.com/6ysvu
---
---
Este correo ha sido testeado y no tiene virus (Al menos conocidos). Saludos
de Francisco Javier García Aguado (Buho)
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.766 / Virus Database: 513 - Release Date: 17/09/2004
Me sale bien, pero en el caso de querer que al nombrar el archivo que crea como copia de seguridad, vaya cambiando en el dia o la hora que se haga...sea del tipo respaldo27052015.mdb
Búho
2004-09-20 18:18:51 UTC
Permalink
ando jodidin de tiempo...mira esta otra tambien....
http://mvp-access.com/buho/ficheros/copiabis.txt
con lo que sea, danos un toque si no furrula
--
Saludos desde Valladolid
Francisco Javier García Aguado
***@mvp-access.com
---
http://www.mvp-access.com/buho
http://www.mvp-access.com/foro
http://groups.msn.com/Access2000VisualBasic/
Mi Perfil de MVP en Microsoft:
http://tinyurl.com/6ysvu



---
Este correo ha sido testeado y no tiene virus (Al menos conocidos). Saludos
de Francisco Javier García Aguado (Buho)
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.766 / Virus Database: 513 - Release Date: 17/09/2004
Pedro M Glez
2004-09-20 19:05:44 UTC
Permalink
Hola,

Gracias por la respuesta. Esto ya lo había pillado. Creé el módulo bas y
luego hice un botón de comando ejecutando el módulo y nada. Es que de
Visual Basic no controlo mucho, lo básico (requery, recal, y algunos
comandos...) pero me pierdo en los módulos y las macros.

Estos ficheros de texto los pongo en un módulo, pero ¿cómo los uso con
un botón de comando?

Gracias,

Saludos,

Pedro Muñoz
Post by Búho
ando jodidin de tiempo...mira esta otra tambien....
http://mvp-access.com/buho/ficheros/copiabis.txt
con lo que sea, danos un toque si no furrula
Búho
2004-09-20 19:38:25 UTC
Permalink
Hola de nuevo...

Mejor utiliza esta del enlace anterior:
http://www.mvp-access.com/buho/ficheros/copiamdb.txt
Allí lo explico. Segun se te forma el enlace del HTML/TXT, donde pongo «esto
a un moudlo»...lo copias de la HTML y lo pegas directamete al modulo de tu
MDB. Guardas el modulo

Luego, el codigo que viene mas abajo, haces lo mismo...copias

Dim Ret As Long
Ret = CopyFileEx(CurrentDb.Name, _
CurrentProject.Path & "\nuevonombre.mdb", _
AddressOf CopyProgressRoutine, ByVal 0&, bCancel, _
COPY_FILE_RESTARTABLE)

y lo pegas en el evento Click del boton de comando que actue para hacer la
copia, en el formulario que tu quieras...
--
Saludos desde Valladolid
Francisco Javier García Aguado
***@mvp-access.com
---
http://www.mvp-access.com/buho
http://www.mvp-access.com/foro
http://groups.msn.com/Access2000VisualBasic/
Mi Perfil de MVP en Microsoft:
http://tinyurl.com/6ysvu
---



---
Este correo ha sido testeado y no tiene virus (Al menos conocidos). Saludos
de Francisco Javier García Aguado (Buho)
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.766 / Virus Database: 513 - Release Date: 17/09/2004
Pedro M Glez
2004-09-20 19:52:27 UTC
Permalink
Primero, gracias pero....

A ver que soy muy burro.

He copiado lo del copiamdb.txt a un módulo llamado "copiaseguridad". He
creado un botón en el formulario inicial y he puesto la rutina que me
has enviado en este mensaje en el evento al hacer click. He puesto la
segunda parte del fichero copiadmdb en el código del menún inicial.

Y no me hace nada el botón. Lo que he puesto va aquí:

Private Sub Comando14_Click()
On Error GoTo Err_Comando14_Click

Dim Ret As Long
Ret = CopyFileEx(CurrentDb.Name, _
CurrentProject.Path & "\nuevonombre.mdb", _
AddressOf CopyProgressRoutine, ByVal 0&, bCancel, _
COPY_FILE_RESTARTABLE)

Exit_Comando14_Click:
Exit Sub

Err_Comando14_Click:
MsgBox Err.Description
Resume Exit_Comando14_Click

End Sub
Private Sub CopiaEstaBase()
Dim Ret As Long
Ret = CopyFileEx(CurrentDb.Name, CurrentProject.Path &
"\nuevonombre.mdb", AddressOf CopyProgressRoutine, ByVal 0&, bCancel,
COPY_FILE_RESTARTABLE)
End Sub


En el módulo llamado "copiaseguridad":
Option Compare Database
Public Const PROGRESS_CANCEL = 1
Public Const PROGRESS_CONTINUE = 0
Public Const PROGRESS_QUIET = 3
Public Const PROGRESS_STOP = 2
Public Const COPY_FILE_FAIL_IF_EXISTS = &H1
Public Const COPY_FILE_RESTARTABLE = &H2
Public Declare Function CopyFileEx Lib "kernel32.dll" Alias
"CopyFileExA" (ByVal lpExistingFileName As String, ByVal lpNewFileName
As String, ByVal lpProgressRoutine As Long, lpData As Any, ByRef
pbCancel As Long, ByVal dwCopyFlags As Long) As Long
Public bCancel As Long

Public Function CopyProgressRoutine(ByVal TotalFileSize As Currency,
ByVal TotalBytesTransferred As Currency, ByVal StreamSize As Currency,
ByVal StreamBytesTransferred As Currency, ByVal dwStreamNumber As Long,
ByVal dwCallbackReason As Long, ByVal hSourceFile As Long, ByVal
hDestinationFile As Long, ByVal lpData As Long) As Long
CopyProgressRoutine = PROGRESS_CONTINUE
End Function


Que hago mal? Perdona, pero no lo entiendo.

Saludos
Post by Búho
Hola de nuevo...
http://www.mvp-access.com/buho/ficheros/copiamdb.txt
Allí lo explico. Segun se te forma el enlace del HTML/TXT, donde pongo «esto
a un moudlo»...lo copias de la HTML y lo pegas directamete al modulo de tu
MDB. Guardas el modulo
Luego, el codigo que viene mas abajo, haces lo mismo...copias
Dim Ret As Long
Ret = CopyFileEx(CurrentDb.Name, _
CurrentProject.Path & "\nuevonombre.mdb", _
AddressOf CopyProgressRoutine, ByVal 0&, bCancel, _
COPY_FILE_RESTARTABLE)
y lo pegas en el evento Click del boton de comando que actue para hacer la
copia, en el formulario que tu quieras...
Pedro M Glez
2004-09-20 20:06:53 UTC
Permalink
pues me sigue sin hacer nada al darle al botón

:-?

Tendré desactivado algo?

No entiendo lo que puede pasar, he visto lo que me has enviado y es eso
lo que quiero hacer, pero ya te digo, cosa de meigas parece esto...

Saludos,

Pedro
....no te preocupes, nadie hemos nacido enseñados. Te adjunto un mini ejemplo
Pedro M Glez
2004-09-20 20:22:05 UTC
Permalink
Hola otra vez,

Perdón, perdón, perdón...

Si que funciona. Lo que pasaba es que no me salía ningún mensaje y no
habia visto el directorio, y me había creado una copia de la base de
datos al final de todos los ficheros.

Lo dicho, perdona el despiste.

Muchísimas gracias por la ayuda. Me has hecho feliz :)

Ahora le pondré un mensaje diciendo que se hará la copia de la base de
datos y tal....

Saludos,

Pedro Muñoz
....no te preocupes, nadie hemos nacido enseñados. Te adjunto un mini ejemplo
McPegasus
2004-09-21 08:17:06 UTC
Permalink
Hola Pedro,

http://www.mcpegasus.net/content/clanmcpegasus.htm, en esta dirección tienes
el ejemplo McZip donde puedes conseguir lo que necesitas.

Ya nos cuetas si te sirve.

Rafael Andrada
www.mcpegasus.net
P.D. Desde Web
Post by Pedro M Glez
Hola a todos,
Quiero poner un botón dónde al pulsar me haga una copia de la base de
datos en como si fuera a las opciones del menú, hacer copia de seguridad
(es decir que me ponga la fecha de la copia como hace access).
¿Alguno tendría por ahí el código necesario o la función?
He visto en la página del Buho algunas utilidades así pero no para una
base de datos abierta, sino para usar desde otra base de datos, y esa no
es la cuestión.
Agradezco cualquier sugerencia, supongo que no seré al único que se le
ha ocurrido esto ;-)
Muchas gracias,
Pedro Muñoz
Pedro M Glez
2004-09-21 10:50:42 UTC
Permalink
Muchas gracias,

Ya lo he solucionado con el ejemplo que me ha enviado el Buho.

De todas formas ya añadí tu página a mis marcadores ;-)

Saludos,

Pedro Muñoz
Post by McPegasus
Hola Pedro,
http://www.mcpegasus.net/content/clanmcpegasus.htm, en esta dirección tienes
el ejemplo McZip donde puedes conseguir lo que necesitas.
Ya nos cuetas si te sirve.
Rafael Andrada
www.mcpegasus.net
P.D. Desde Web
Post by Pedro M Glez
Hola a todos,
Quiero poner un botón dónde al pulsar me haga una copia de la base de
datos en como si fuera a las opciones del menú, hacer copia de seguridad
(es decir que me ponga la fecha de la copia como hace access).
¿Alguno tendría por ahí el código necesario o la función?
He visto en la página del Buho algunas utilidades así pero no para una
base de datos abierta, sino para usar desde otra base de datos, y esa no
es la cuestión.
Agradezco cualquier sugerencia, supongo que no seré al único que se le
ha ocurrido esto ;-)
Muchas gracias,
Pedro Muñoz
Continúe leyendo en narkive:
Loading...