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úhoHola 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...