如何从Excel VBA代码中触发Access数据库表单中的单击

问题描述 投票:1回答:2

我试图从Excel中的VBA代码触发Access数据库中表单的“确定”按钮。

主要思想如下。 Excel中的VBA代码执行以下步骤:

  1. 打开Access数据库
  2. 在此Access数据库中打开一个表单
  3. 用一些数据填写表单
  4. 触发单击打开表单的“确定”按钮
  5. 关闭表单
  6. 关闭Access数据库

至于现在,代码能够打开数据库,打开表单,用数据填充它,但是我无法强制点击“确定”按钮。我尝试了几种不同的类型方法:

.Forms("Subscriptions_Redemptions").Controls("OK").Click

但都不起作用......我将不胜感激任何帮助。为了清楚起见,单击“确定”按钮激活一个访问VBA代码,该代码使用“事件过程”​​单击,从数据库中的表单调度信息。

这是代码的当前版本:

Private Sub CommandButton4_Click()
    Dim appAccess As Object

    'create new access object
    Set appAccess = CreateObject("Access.Application")

    'open the acces project
    Call appAccess.OpenCurrentDatabase( _
    "H:\PROD\HIGH_YIELD\HY_LUX\Database\HY_LUX.mdb")
    appAccess.Visible = True

    With appAccess
        Application.DisplayAlerts = False
       .DoCmd.OpenForm "Subscriptions_Redemptions"
       .Forms("Subscriptions_Redemptions").DateVal = "04/12/2019"
       .Forms("Subscriptions_Redemptions").Controls("OK").Click
    End With

    Set appAccess = Nothing
End Sub
excel vba ms-access access-vba
2个回答
0
投票

你应该调用form的对象模型,这意味着遵循以下语法:

.Forms![Subscriptions_Redemptions].ButtonName_Click

ButtonName是一个按钮控件对象名称,可以通过属性窗口指定,也可以查看事件处理程序


1
投票

感谢Van Ng和SunKnight0,我发现了这个问题!正如SunKnight0正确指出的那样,问题是点击的私有定义而不是公共定义。它现在很棒。谢谢你的贡献。

© www.soinside.com 2019 - 2024. All rights reserved.