使用API :
Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
拷贝有两种
一种不需要关闭
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
或一种是必须关闭数据库
filecopy
If txtOut.Text = "" Then
MsgBox "请输入备份文件名!", vbExclamation, "提示"
Exit Sub
End If
If FileExists(txtOut.Text) Then
If MsgBox(txtOut.Text & "已经存在,是否要覆盖?", vbQuestion + vbYesNo, "提示") = vbNo Then Exit Sub
On Error GoTo out_err
Kill txtOut.Text
End If
BACKCnn.Close '这个就是关闭连接,看您的打开了多少个连接全部关闭,我使用一个连接打开这个数据库的
FileCopy BACKDATABASE, txtOut.Text
If BACKCnn.State = adStateClosed Then BACKCnn.Open BackUpCnnString'备份以后重新打开,以便其他过程调用
MsgBox "备份文件导出成功!", vbExclamation, "提示"
Unload Me
Exit Sub
out_err:
MsgBox "备份文件导出错误!错误代码:" & vbCrLf & Error(Err), vbCritical, "错误"
If BACKCnn.State = adStateClosed Then BACKCnn.Open BackUpCnnString'失败也打开原来的数据库连接
Exit Sub