使用Access Interop从C#单击MS Access表单上的按钮

时间:2010-04-07 11:39:16

标签: c# ms-access

我可以连接到访问数据库并从c#运行函数等,我甚至可以抓住我需要点击的按钮,但我不能让它认为它被点击了。

 nonManagedDb.DoCmd.OpenForm("frmMaintenance", Access.AcFormView.acNormal, MissingVal, Access.AcFormOpenDataMode.acFormReadOnly, Access.AcWindowMode.acWindowNormal, MissingVal);
            var RunRep = (CommandButton)nonManagedDb.Forms["frmMaintenance"].Controls["btnDailySheetsReport"];

这就像我已经得到的那样远,我已经尝试过反射来抓住它的事件并调用它但它被归类为COM对象只是为了这样。

1 个答案:

答案 0 :(得分:0)

在Access中,我们可以使用以下语法调用另一种形式的过程:

Call Forms.TransactionTotals.UpdateEmployeeHours

Call Forms.OtherTransactionsEntry_VendorInvoices.SetInvoiceID(Me.cboVendorInvoiceID)

现在我怀疑你可以在.Net中使用类似的语法,但也许这足以通过Interop等来解决问题。

否则,如果您可以运行一个函数,那么在Access中创建一个单行函数,其唯一的工作就是在窗体上调用该过程。

此外,点击程序将被称为

cmdDeleteTransaction_Click