如何判斷是否以獨佔方式開啟當前資料庫?

2021-04-17 07:57:02 字數 1140 閱讀 9829

如何判斷是否以獨佔方式開啟當前資料庫?

問題:如何判斷是否以獨佔方式開啟當前資料庫?

在鏈結或者用ado操作其他資料庫時,如果被操作的資料庫已經被某使用者以獨佔方式開啟,就會出錯,如何預先判斷該資料庫是否已經被獨佔開啟?

方法一:

很簡單,只要判斷 currentproject.connection.connectionstring中是否包含以下字母

jet oledb:database locking mode=0

寫乙個函式就可以判斷:

function testlockmode()

if instr(currentproject.connection.connectionstring, "jet oledb:database locking mode=0") > 0 then

msgbox "本資料庫已經用獨佔方式開啟"

else

msgbox "本資料庫未用獨佔方式開啟"

end if

end function

以下是 debug.print currentproject.connection.connectionstring 的結果供參考:

方法二:

很簡單,你只要在程式中嘗試用獨佔方式開啟資料庫即可,如果返回了錯誤號加以判斷即可。就像本站中的很多問題解決方法類似,用錯誤陷阱即可判斷了

function testlockmode()

on error resume next

dim conn as new adodb.connection

conn.open "provider=microsoft.jet.oledb.4.0;user id=admin;data source=l:ibm winxpdesktopmdb重覆記錄.mdb;jet oledb:database locking mode=0;"

if err.number = -2147467259 then

msgbox "檔案已經在使用中,估計是被別人以獨佔方式開啟了"

end if

end function

方法三:

當然,你還可以直接讀取currentdb屬性來判斷是否已經被獨佔開啟

http://www.access911.net 站長收藏

android 如何判斷當前頁面是否是桌面

最近在自己的專案中需要用到判斷乙個應用是否啟動的功能。為了擴充套件一下知識點,就把題目定成了如果判斷當前顯示是否為桌面。其實這個過程有三個知識點。1.如何找出正在執行的任務?android系統是支援多工的,找到所有執行的任務是關鍵。2.如何找出當前正在執行的任務?雖然android是多工的系統,但是...

在Android中,如何判斷當前是否在桌面上

在做android上面的懸浮窗的時候,一般需要去判斷一種情況,即當前是否是在桌面上 即按下home鍵時回到的手機介面 1 在桌面上,才展示懸浮窗 2 不在桌面上,則隱藏懸浮窗 桌面 home 其實本質上也是乙個應用程式,也是由activity組成的,所以乙個手機裡面有可能裝有多個桌面應用,這是第一點...

在Linux下判斷系統當前是否開啟了超執行緒

在linux下判斷系統當前是否開啟了超執行緒 在判斷當前是否開啟了超執行緒之前,需要先判斷另外幾個資料 1,物理cpu個數 root localhost cat proc cpuinfo grep physical id sort uniq physical id 0 physical id 1 可...