如何在Visual Studio c# Winform中打开Access窗体

本文关键字:Access 窗体 Winform Visual Studio | 更新日期: 2023-09-27 18:18:41

我需要一个链接(最有可能的按钮,或类似的)在我的Visual Studio 2010 Windows表单(c#),这将打开一个预开发的访问表单。这是很复杂还是比听起来简单=P

问候,Bserk

如何在Visual Studio c# Winform中打开Access窗体

描述

假设您指的是Microsoft Access数据库,您可以使用System.Diagnostics.Process打开任何文件/程序。

样本
Process.Start("PathAndFileNameOfYourAccessDb");

    MSDN:进程类
  • MSDN:过程。Start Method (String)
  • c#的过程。开始示例

您可以在CodePlex上使用库NDde来通过DDE与Access应用程序通信。

这是从我的一个项目中提取的代码片段:

using (DdeClient client = new DdeClient("MSAccess", Path.GetFileName(theAccessApp))) {
    if (!TryConnect(client)) {
        Process.Start(theAccessApp);
        Thread.Sleep(2000);
        if (!TryConnect(client)) {
            Messagebox.Show("Could not start: " + theAccessApp);
            return;
        }
    }
    // Close the form if open
    client.Execute("[Close 2, '"MyForm'"]", 10000);
    // Open the form
    string openCmd = String.Format("[OpenForm '"MyForm'",,,,,,'"{0}'"]", anyOpenArgsParam);
    client.Execute(openCmd, 10000);
}

private static bool TryConnect(DdeClient client)
{
    try {
        client.Connect();
        return true;
    } catch (DdeException) {
        try {
            client.Connect();
            return true;
        } catch (DdeException) {
            return false;
        }
    }
}

最简单的方法是使用/x命令行开关。这将启动一个在命令行上命名的宏。

    在数据库中创建一个新的宏下拉列表并选择OpenForm,
  • 输入预定义表单的名称
  • 设置你需要的选项。
  • 保存宏并命名为MyMacro

然后执行MSAccess与数据库的名称和/x开关,像这样:

"c:'Program Files'Microsoft Office'Office14'MSACCESS.EXE" "C:'Users'user'Documents'Database1.accdb" /x MyMacro