會員登錄 - 用戶注冊 - 網(wǎng)站地圖 Office中國(office-cn.net),專業(yè)Office論壇
當(dāng)前位置:主頁 > 技巧 > Access技巧 > API > 正文

不關(guān)閉當(dāng)前數(shù)據(jù)庫COPY當(dāng)前數(shù)據(jù)庫

時間:2009-04-17 00:00 來源:access911.net 作者:cg1 閱讀:

 

 

 

 

 

 

 

問題:
 

  我要備份當(dāng)前數(shù)據(jù)庫,可是用FSO復(fù)制時總是提示占用,但是我直接在WINDOWS資源管理器里面又能直接復(fù)制,有什么辦法能在不關(guān)閉當(dāng)前數(shù)據(jù)庫的情況下復(fù)制數(shù)據(jù)庫用以備份么?

 

 


回答:
 

  在 XP 以上的環(huán)境可以

 

 

'//按 ALT+F11 轉(zhuǎn)到 vba 界面,
'//新建一個模塊
'//將以下代碼 COPY 進(jìn)去
'//將光標(biāo)停在 Function RunTest() 這行
'//按 F5 即可運(yùn)行
'//運(yùn)行結(jié)束后到 c:\ 看結(jié)果

 


Public Const COPY_FILE_FAIL_IF_EXISTS = &H1    '//如果目標(biāo)文件已存在即退出
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


'===========================================================
' 過程及函數(shù)名:  RunTest
' 版本號      :  --
' 說明        :  本過程只用于演示如何用VBA+WINAPI 復(fù)制當(dāng)前
'                 數(shù)據(jù)庫到 c:\a.mdb
' 引用        :  --
' 輸入?yún)?shù)    :  --
' 輸出值      :  --
' 返回值      :  --
' 調(diào)用演示    :  RunTest
' 最后修改日期:  2007-12-9 17:36:00

' 作者        :  cg1
' 網(wǎng)站        :  http://access911.net
' 電子郵件    :  access911@gmail.com
' 版權(quán)        :  作者保留一切權(quán)力,
'                 請?jiān)诠急敬a時將本段說明一起公布,謝謝!
'===========================================================

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

 


(責(zé)任編輯:admin)

頂一下
(0)
0%
踩一下
(0)
0%
發(fā)表評論
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動的言論。
評價: