会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > API > 正文

不关闭当前数据库COPY当前数据库

时间:2009-04-17 00:00 来源:access911.net 作者:cg1 阅读:

 

 

 

 

 

 

 

问题:
 

  我要备份当前数据库,可是用FSO复制时总是提示占用,但是我直接在WINDOWS资源管理器里面又能直接复制,有什么办法能在不关闭当前数据库的情况下复制数据库用以备份么?

 

 


回答:
 

  在 XP 以上的环境可以

 

 

'//按 ALT+F11 转到 vba 界面,
'//新建一个模块
'//将以下代码 COPY 进去
'//将光标停在 Function RunTest() 这行
'//按 F5 即可运行
'//运行结束后到 c:\ 看结果

 


Public Const COPY_FILE_FAIL_IF_EXISTS = &H1    '//如果目标文件已存在即退出
Public Const COPY_FILE_RESTARTABLE = &H2       '//拷贝失败的时候可以重新开始
'// 此 API 在 WIN9X 下不能使用
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


'===========================================================
' 过程及函数名:  RunTest
' 版本号      :  --
' 说明        :  本过程只用于演示如何用VBA+WINAPI 复制当前
'                 数据库到 c:\a.mdb
' 引用        :  --
' 输入参数    :  --
' 输出值      :  --
' 返回值      :  --
' 调用演示    :  RunTest
' 最后修改日期:  2007-12-9 17:36:00

' 作者        :  cg1
' 网站        :  http://access911.net
' 电子邮件    :  access911@gmail.com
' 版权        :  作者保留一切权力,
'                 请在公布本代码时将本段说明一起公布,谢谢!
'===========================================================

Function RunTest()
    Dim strFileName As String
    strFileName = CurrentProject.FullName
    CopyFileEx strFileName, "c:\a.mdb", 0, Null, False, COPY_FILE_RESTARTABLE
End Function

 


(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: