我有一个Winforms C#应用程序,我希望能够连接到Access 2007应用程序。基本上,用户单击winforms应用程序中的按钮,然后将它们带到他们运行的MS访问应用程序中的特定表单。
这可能吗?
由于
答案 0 :(得分:2)
作为使用DDE的替代方案,请考虑自动化。您需要添加相关PIA库的引用,然后您可以让Access开发人员更熟悉一些代码,如下所示:
var access = new Access.Application();
access.OpenCurrentDatabase("MyDB.accdb");
access.OpenForm("frmNavigate");
答案 1 :(得分:0)
是的,这是可能的。您将不得不使用DDE。丑陋的旧技术,但它仍然在Access 2007中。我在codeplex上使用NDde库。
using (DdeClient client = new DdeClient("MSACCESS", "MyDB.accdb"))
{
String DdeCommand =
"[OpenForm frmNavigate,,,,,,UserOpenArgs]";
try
{
client.Connect();
client.Execute(DdeCommand, 5000);
}
catch (NDde.DdeException ex)
{
// MessageBox.Show(ex.Message);
Logger.Write(ex.ToString());
}
}