如何使用QBFC连接到Quickbooks来确定连接是否成功

时间:2018-02-13 20:43:37

标签: access quickbooks qbfc

以下是我使用QBFC将我的MS Access应用程序连接到QB Pro 2017的代码:

Dim smgr As QBSessionManage

Set smgr = New QBSessionManager
smgr.OpenConnection "", "Job Management"
smgr.BeginSession "", omDontCare

除非QB没有打开,否则这很有效。我需要一种方法来测试连接是否成功。我似乎无法找到有关如何执行此操作的代码示例。

谢谢, TD

1 个答案:

答案 0 :(得分:0)

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