将当前数据库中的表备份到另一个数据库中的函数-王樵民
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


将当前数据库中的表备份到另一个数据库中的函数

发表时间:2010/6/3 10:29:44 评论(3) 浏览(12364)  评论 | 加入收藏 | 复制
   
摘 要:本人介绍一个将当前数据库中的表自动保存到另一个数据库中的函数,适用Access各个版本,如果备份的数据库是Access2007,请将lj = CurrentProject.Path & "\" & 备份数据库名 & ".mdb",改成lj = CurrentProject.Path & "\" & 备份数据库名 & & ".accdb""

正 文:

如下函数将当前数据库中的表备份到另一个数据库中,调用格式:

Dim Bf As Boolean

Bf=备份("合同数据库备份")

适用Access各个版本,如果备份的数据库是Access2007,请将lj = CurrentProject.Path & "\" & 备份数据库名 & ".mdb",改成lj = CurrentProject.Path & "\" & 备份数据库名 & & ".accdb""

下面就是这个函数:

Function 备份(备份数据库名) As Boolean

'On Error GoTo err1

Dim lj

Dim obj As AccessObject, dbs As Object

lj = CurrentProject.Path & "\" & 备份数据库名 & ".mdb"

Set fs = CreateObject("Scripting.FileSystemObject")

If Not fs.FileExists(lj) Then

 Set xinAccess = CreateObject("Access.Application")

 xinAccess.NewCurrentDatabase (lj)

 xinAccess.CloseCurrentDatabase

End If

Set dbs = Application.CurrentData

For Each obj In dbs.AllTables

If obj.IsLoaded = True Then DoCmd.Close acTable, obj.Name

 If Mid(obj.Name, 1, 4) <> "MSys" And Mid(obj.Name, 1, 4) <> "USys" Then

  DoCmd.TransferDatabase acExport, "Microsoft Access", lj, acTable, obj.Name, obj.Name, False

 End If

 ' 如果obj 未达到所有表,则继续循环,每次obj增加一个步长;否则退出循环

Next obj

msgbox("数据表备份完成,其文件名为:" & lj)

Err1:

End Function

Access软件网交流QQ群(群号:198465573)
 
 相关文章
Asp.net在线备份、压缩和修复Access数据库  【lqr801225  2012/8/15】
SQL异机备份\SQL Server2000异机备份  【转载(风行)  2012/8/25】
SQL server 2005数据库的备份与还原  【缪炜  2012/9/20】
差异备份、增量备份、完全备份的区别  【Adolph Sun  2012/11/25】
常见问答
技术分类
相关资源
文章搜索
关于作者

王樵民

文章分类

文章存档

友情链接