2013-07-01 4 views
0

quickbooks에서 항목 목록을 검색하는 작은 C# 콘솔 프로그램이 있으며 해당 데이터를 Microsoft Access에 노출하는 방법을 알아 내려고하고 있습니다. XML 형식입니다.Microsoft Access에서 C# 프로그램 데이터 원본에 연결

Access에서 호출 할 때마다 데이터를 가져 오는 데 약 1 초 밖에 걸리지 않으므로 실시간으로 데이터를 검색하려고합니다. Access 2003 및 VS 2010을 사용하고 있습니다.

잘 작동하는 VBA로이 작업을 수행 할 수있는 방법이있는 경우. 이미 VBA를 사용하여 XML 데이터를 얻을 수 있지만 거기에서 어떻게 이동 해야할지 모르겠습니다. 여기

내가 C#에서 사용하는 코드입니다 : ". 나는 Microsoft Access에서 해당 데이터를 노출하는 방법을 알아 내려고 노력하고 있어요 그것은 XML 형식으로되어"

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

그래서 C#을 사용하여 Access 데이터베이스로 데이터를 복사하겠습니까? – Brian

+0

예. Access VBA로 할 수있는 방법이 없다면. –

+0

[여기] (http://msdn.microsoft.com/en-us/library/aa288452(v=vs.71) .aspx)는 Access DB로 데이터를 전송하는 자습서입니다. – Brian

답변

0

내가 전에 한 번도 안 써봤 ,하지만 당신이 dll에서 논의한 내용과 Access에서 호출하는 것을 성취하는 C# 클래스를 배치함으로써 이것이 가능하다고 생각합니다. 여기에 대해이 사이트의 게시물이 있습니다.

A Simple C# DLL - how do I call it from Excel, Access, VBA, VB6?

P. 필자가 이전에 해보지 않았던 것을 감안할 때, 나는 이것을 원래 게시물의 코멘트 섹션에 넣었을 것이지만, 나는이 사이트를 처음 접했고 그렇게 할 수 없다.

+0

이것은 기술적으로 대답입니다. 고마워, 내가 살펴볼거야. –

+0

무슨 일이 일어나는지 알려주세요. 나는 볼 관심이있을거야! – Killingsworth

+0

실제로 필요한 경우이 방법을 사용하면 절반 정도를 얻을 수 있지만 Access에서 실제로 사용할 수있는 항목을 만들어야합니다. –