如何在MS Access数据库中打开带有ID的表单?

时间:2015-09-09 16:23:20

标签: c# ms-access

我制作了一个新的C#程序。使用此程序,我想从Access数据库中打开带有ID(例如客户ID)的表单。我使用以下行打开我的数据库:“Process.Start(@”C:\ Users \ Stefan \ Desktop \ Test.accdb“);”

但我不知道如何使用客户ID打开表单。如何将ID从命令行传输到数据库以打开带有ID的表单?你能给我一个小费吗?

谢谢你, 斯蒂芬

1 个答案:

答案 0 :(得分:1)

您可以在Access数据库中创建一个宏。称之为(例如)OpenCustomerForm。此宏应仅包含执行VBA模块中定义的函数的命令。

例如

RunCode CustomerFormByID()

然后在VBA模块中(模块的名称并不重要)创建一个名为CustomerFormByID的函数

Public Function CustomerFormByID()
    Call DoCmd.OpenForm("NameOfFormThatShowCustomers", _ 
                        acNormal, "", _ 
                        "ID=" & Command, acFormEdit)
End Function

此功能将尝试打开以您用于向客户展示的表单命名的表单。这里的重要部分是WHERE条件,其中放置customers表的主键(假设其命名ID)和Command函数,它返回/ cmd开关后在命令行上传递的内容

现在在C#中,您可以使用

调用所有内容
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "Test.accdb";
psi.WorkingDirectory = @"C:\Users\Stefan\Desktop";
psi.Arguments = "/x OpenCustomerForm /cmd " + customerID.ToString();
Process.Start(psi);