不知道你在做数据库连接时用的是dao,rdo,ado的那一个,如果是dao sub closedao () on error resume next dim ws as workspace dim db as database dim rs as recordset for each ws in workspaces for each db in ws.databases for each rs in db.recordsets rs.close set rs=nothing next db.close set db=nothing next ws.close set ws=nothing next end sub 如果是rdo rdo.close set rdo=nothing ado也和rdo一样
Private Sub m_t_Backup_Click() On Error GoTo hError Dim sPath As String sPath = App.Path & "\Backup" If Dir(sPath, vbDirectory) = "" Then _ Call modErrors.fun_CreateDir(sPath) sPath = sPath & "\Market" & Format$(Date, "YYYYMMDD") & ".mdb" If Dir(sPath) <> "" Then Kill sPath DataEnv.dbCn.Close FileCopy App.Path & "\Data\Market.mdb", sPath MsgBox "数据备份成功!", vbInformation, "提示" DataEnv.dbCn.Open Set DataEnv.Commands("dbCm").ActiveConnection = DataEnv.dbCn Exit Sub hError: Call sub_DoErrors("frmMain->m_t_Backup_Click", Err.Number, Err.Description) MsgBox "数据备份失败!", vbCritical, "错误" End Sub
比如备份
copyfile 路径\你的数据库 路径\备份为的数据库
在打开数据库的连接就可以了.
sub closedao ()
on error resume next
dim ws as workspace
dim db as database
dim rs as recordset
for each ws in workspaces
for each db in ws.databases
for each rs in db.recordsets
rs.close
set rs=nothing
next
db.close
set db=nothing
next
ws.close
set ws=nothing
next
end sub
如果是rdo
rdo.close
set rdo=nothing
ado也和rdo一样
On Error GoTo hError
Dim sPath As String
sPath = App.Path & "\Backup"
If Dir(sPath, vbDirectory) = "" Then _
Call modErrors.fun_CreateDir(sPath)
sPath = sPath & "\Market" & Format$(Date, "YYYYMMDD") & ".mdb"
If Dir(sPath) <> "" Then Kill sPath
DataEnv.dbCn.Close
FileCopy App.Path & "\Data\Market.mdb", sPath
MsgBox "数据备份成功!", vbInformation, "提示"
DataEnv.dbCn.Open
Set DataEnv.Commands("dbCm").ActiveConnection = DataEnv.dbCn
Exit Sub
hError:
Call sub_DoErrors("frmMain->m_t_Backup_Click", Err.Number, Err.Description)
MsgBox "数据备份失败!", vbCritical, "错误"
End Sub