我已經開始涉足MS Office產品自動獲勝形式,並且遇到了困難。正如標題所示,我在VS2010(.NET 4.0)中使用C#,連接到Access 2013後端。從C#Winform調用Access 2013模塊
這是我的問題,我試圖在我的程序的後端數據庫中運行一個模塊。我見過一些職位在這裏堆棧和閱讀MSDN上幾篇文章,並想出了以下內容:
using Access = Microsoft.Office.Interop.Access;
void RunAccessModule()
{
try
{
Access.Application oAccess = new Access.Application();
oAccess.OpenCurrentDatabase("H:\\MyConnection\\UtilityBackEnd.accdb", false);
oAccess.Run("MakeProjectTable"); //Name of procedure in module
oAccess.CloseCurrentDatabase();
}
catch (Exception ex)
{
ex.Message;
}
}
當我運行我的程序,我得到的是一條錯誤:"Microsoft Access cannot find the procedure 'MakeProjectTable.'"
我已經試過更具體的運行命令(即oAccess.Run("Module1.MakeProjectTable");
),但我收到了類似的錯誤消息(cannot find 'Module1.MakeProjectTable.'
。任何人都可以看到我到目前爲止,並/或建議一個問題?
作爲記錄中, Run()方法只能調用VBA代碼。改用DoCmd。 –
在'UtilityBackEnd.accdb'數據庫的標準模塊中'MakeProjectTable'是一個'Public'過程嗎? – HansUp
不,我現在要改變它 – alwaysthestudent