Я не знал, что должно произойти, если у какого-либо пользователя откроется база данных при запуске вашего скрипта. Поэтому я решил проверить наличие файла блокировки базы данных и продолжить, только если файл блокировки не существует.
Вот 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