我有一个小型的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;
}
}
答案 0 :(得分:0)
“我正在尝试弄清楚如何将这些数据公开给Microsoft Access。它是XML格式的” 我以前从未尝试过这个,但我认为这可以通过放置完成你在dll中讨论并从Access调用的c#类来实现。以下是该网站关于该帖子的帖子。
A Simple C# DLL - how do I call it from Excel, Access, VBA, VB6?
P.S。鉴于我以前从未尝试过这个,我会把它放在原帖的评论部分,但我是这个网站的新手,我无法做到。