下面的脚本有效,但是如何让脚本运行这两个数据库'宏在同一时间?
set oaccess1 = createobject("access.application")
oaccess1.opencurrentdatabase "C:\support_db3_created.accdb"
set oaccess2 = createobject("access.application")
oaccess2.opencurrentdatabase "p:\public\ryan simmons\access\support_db4_completed.accdb"
oaccess1.docmd.runmacro "runmacro"
oaccess2.docmd.runmacro "runmacro"
oaccess1.closecurrentdatabase
oaccess2.closecurrentdatabase
oaccess1.quit
oaccess2.quit
set oaccess1=nothing
set oaccess2=nothing
x=msgbox("Script Completed!" ,0, "Alert!")
答案 0 :(得分:0)
你不能。 VBScript不允许脚本内的并发。如果需要并行执行,则需要运行两个脚本。如果需要,您可以使用文件或注册表值来同步两个脚本:
脚本A:
'do stuff
Set sh = CreateObject("WScript.Shell")
sh.RegWrite "HKCU\Software\test\syncpoint", 1, "REG_DWORD"
'do other stuff
脚本B:
Const HKCU = &h80000001
Set reg = GetObject("winmgmts://./root/default:StdRegProv")
'do stuff
'wait for script A to create the registry value
Do
rc = reg.GetDWORDValue(HKCU, "Software\test", "syncpoint", v)
WScript.Sleep 100
Loop Until rc = 0 And Not IsNull(v)
'do other stuff