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
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 tod@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
"Pedro M Glez" <NOUSAR...@eresmas.com> escribió en el mensaje
news:OlntCczn...@TK2MSFTNGP11.phx.gbl...
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
buho...@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
--
Saludos desde Valladolid
Francisco Javier García Aguado
buho...@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
---
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
Búho escribió:
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
Emilio escribió:
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...
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
Búho escribió:
--
Saludos a tod@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
"Pedro M Glez" <NOUSAR...@eresmas.com> escribió en el mensaje
news:uG%23rUU0n...@tk2msftngp13.phx.gbl...
:-?
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
Búho escribió:
> ....no te preocupes, nadie hemos nacido enseñados. Te adjunto un mini ejemplo
>
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
Búho escribió:
> ....no te preocupes, nadie hemos nacido enseñados. Te adjunto un mini ejemplo
>
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
"Pedro M Glez" escribió:
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
McPegasus escribió: