0

我有一个小型 C# 控制台程序,可以从 quickbooks 中检索项目列表,并且我试图弄清楚如何将该数据公开给 Microsoft Access。它是 XML 格式。

我想实时检索数据,因为只要 Access 调用它,只需大约一秒钟即可获取数据。我正在使用 Access 2003 和 VS 2010。

如果有一种方法可以使用 VBA 执行此操作,那么它也可以正常工作。我已经可以使用 VBA 获取 XML 数据,但我不知道如何从那里开始。

这是我在 C# 中使用的代码:

public string DoQBQuery(XmlDocument doc)
{
    bool sessionBegun = false;
    bool connectionOpen = false;
    RequestProcessor2 rp = null;
    string ticket = "";
    try
    {
        //Create the Request Processor object
        rp = new RequestProcessor2();

        //Connect to QuickBooks and begin a session
        rp.OpenConnection2("", "QB Transaction Item Retriever", QBXMLRPConnectionType.localQBD);
        connectionOpen = true;
        ticket = rp.BeginSession("", QBFileMode.qbFileOpenDoNotCare);
        sessionBegun = true;

        //Send the request and get the response from QuickBooks
        string responseStr = rp.ProcessRequest(ticket, doc.OuterXml);

        //End the session and close the connection to QuickBooks
        rp.EndSession(ticket);
        sessionBegun = false;
        rp.CloseConnection();
        connectionOpen = false;

        return responseStr;

    }
    catch (Exception e)
    {
        MessageBox.Show(e.Message, "Error");
        if (sessionBegun)
            rp.EndSession(ticket);

        if (connectionOpen)
            rp.CloseConnection();

        throw;
    }
}
4

1 回答 1

0

“我正在尝试弄清楚如何将这些数据公开给 Microsoft Access。它是 XML 格式的”我以前从未尝试过,但我认为通过将完成您在 dll 中讨论的 c# 类和从 Access 调用。这是该网站上关于此的帖子。

一个简单的 C# DLL - 如何从 Excel、Access、VBA、VB6 调用它?

PS鉴于我以前从未尝试过,我会将其放在您原始帖子的评论部分,但我是该网站的新手,无法做到这一点。

于 2013-07-01T20:22:33.597 回答