我希望能够编写一个以独占模式打开Access数据库的脚本,这样我就可以刷新其中的信息,而不用担心其他用户访问处于不一致状态的数据库。有没有办法使用VBA或通过使用VBScript的COM接口来执行此操作?以独占模式打开Access数据库
2
A
回答
2
根据this table of OLEDB init properties,您应该在连接字符串中添加“Mode = Share Exclusive”。
3
我不知道如果有任何用户在脚本启动时打开数据库会发生什么情况。所以我选择检查是否存在数据库锁定文件,并且只有在锁定文件不存在时才会继续。
这里是DoSomethingExclusively.vbs:
Option Explicit
Dim strFolder
Dim strMdb
Dim strLckFile
Dim objFSO
Dim appAccess
strFolder = "C:\Access\webforums\"
strMdb = "whiteboard2003.mdb"
strLckFile = "whiteboard2003.ldb"
Set objFSO = CreateObject("Scripting.FileSystemObject")
If Not (objFSO.FileExists(strFolder & strLckFile)) Then
Set appAccess = CreateObject("Access.Application")
appAccess.OpenCurrentDatabase strFolder & strMdb, True
'* do something here; this just adds a row with current time *'
appAccess.CurrentDb.Execute _
"INSERT INTO foo (bar) VALUES ('" & CStr(Now()) & "');"
appAccess.Quit
Set appAccess = Nothing
End If
Set objFSO = Nothing
相关问题
- 1. 如何以独占模式在C++中打开文件
- 2. C++:以非独占模式打开文件
- 3. 如何在共享和独占模式之间切换Access数据库?
- 4. 访问数据库已由其他用户独占打开
- 5. 以只读模式从python打开sqlite3数据库
- 6. web.xml独占网址模式
- 7. 全屏独占模式JDesktopPane
- 8. Java全屏独占模式
- 9. 是否可以使用ADO.NET修改MS Access数据库模式?
- 10. 外键指向多个表的数据库模式困境(独占弧)
- 11. Access数据库形式
- 12. 在VBA中运行批处理代码以在运行模式下打开特定的Access数据库文件
- 13. 试图打开Access数据库使用Process.Start“数据库未附加”
- 14. 如何在打开数据库时压缩MS Access数据库,使用vba
- 15. 以异步方式在单独的数据库中运行多个MS Access宏
- 16. ms-access:在数据库打开时做些什么
- 17. 在python中打开Access数据库时出错
- 18. 如何限制MS Access数据库打开
- 19. 复制/替换/打开MS Access数据库作为用户
- 20. 如何防止打开MS Access数据库文件?
- 21. 如何强制Access在数据库打开时刷新引用
- 22. 使用Jackcess打开Access数据库文件
- 23. MS Access - 从URL打开数据库表格
- 24. 用PHP打开一个Microsoft Access数据库
- 25. 在Blackberry Phone上打开Microsoft Access数据库
- 26. 在OpenOffice Base或Microsoft Access中打开Java DB数据库
- 27. 从Delphi 7打开Access数据库的问题
- 28. 如何读取Access数据库时,由另一个人打开
- 29. Java效率:全屏独占模式
- 30. BufferStrategy.getDrawGraphics()交换到全屏独占模式
不要忘记坚持所有用户追了出去。 – 2011-04-26 14:56:18