这是我使用QBFC将MS Access应用程序连接到QB Pro 2017的代码:
Dim smgr As QBSessionManage
Set smgr = New QBSessionManager
smgr.OpenConnection "", "Job Management"
smgr.BeginSession "", omDontCare
除非QB不打开,否则这很棒。我需要一种测试连接是否成功的方法。我似乎找不到有关如何执行此操作的代码示例。
谢谢TD
QBFC的问题是,它没有一个选项检查它是否打开,或者公司文件是否与您要打开的相同。
如果您只强迫当前的QB公司文件关闭,则以下代码应完成工作。
On Error Resume Next
Dim smgr As QBSessionManager
Dim oServ As Object
Dim cProc As Variant
Dim oProc As Object
Set oServ = GetObject("winmgmts:")
Set cProc = oServ.ExecQuery("Select * from Win32_Process")
Set smgr = New QBSessionManager
smgr.OpenConnection "", "Job Management"
smgr.BeginSession "", omDontCare
If Err.Number <> 0 Then
'Kill the current running Quickbooks process
For Each oProc In cProc
If oProc.Name = "QBW32.EXE" Then
oProc.Terminate
End If
Next
'Close the connection and try again
smgr.CloseConnection
smgr.OpenConnection "", "Job Management"
smgr.BeginSession "", omDontCare
End If