Связь между приложением MS Access и C # Winforms - PullRequest
1 голос
/ 22 февраля 2012

У меня есть приложение Winforms C #, из которого я хотел бы иметь возможность подключиться к приложению Access 2007. По сути, пользователи нажимают кнопку в приложении winforms, и они переходят в определенную форму в приложении MS Access, которое у них работает.

Возможно ли это?

Спасибо

Ответы [ 2 ]

2 голосов
/ 23 февраля 2012

В качестве альтернативы использованию DDE рассмотрим автоматизацию. Вам нужно будет добавить ссылку на соответствующие библиотеки PIA, и тогда у вас будет код, более знакомый разработчику Access, например:

var access = new Access.Application();
access.OpenCurrentDatabase("MyDB.accdb");
access.OpenForm("frmNavigate");
0 голосов
/ 22 февраля 2012

Да, это возможно.Вам придется использовать DDE.Ужасная старая технология, но она все еще в Access 2007. Я использую библиотеку NDde в codeplex.

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());
        }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...