如何判断是否以独占方式打开当前数据库?
时 间:2013-04-27 08:12:11
作 者:杜超-2号 ID:16058 城市:江阴
摘 要:在链接或者用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 的结果供参考:
Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=L:\IBM WinXP\desktop\mdb\重复记录.mdb;Mode=Share Deny Read|Share Deny Write;Extended Properties="";Jet OLEDB:System database=C:\Documents and Settings\ec\Application Data\Microsoft\Access\System.mdw;Jet OLEDB:Registry Path=SOFTWARE\Microsoft\Office\10.0\Access\Jet\4.0;Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False
方法二:
很简单,你只要在程序中尝试用独占方式打开数据库即可,如果返回了错误号加以判断即可。就像本站中的很多问题解决方法类似,用错误陷阱即可判断了
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 WinXP\desktop\mdb\重复记录.mdb;Jet OLEDB:Database Locking Mode=0;"
If Err.Number = -2147467259 Then
MsgBox "文件已经在使用中,估计是被别人以独占方式打开了"
End If
End Function
方法三:
当然,你还可以直接读取currentdb属性来判断是否已经被独占打开
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)
- 仓库管理实战课程(1)-讲师介绍(03.16)