【问题标题】:Access 2010 VBA Form Pulling In Table DataAccess 2010 VBA 表单拉入表数据
【发布时间】:2016-11-25 00:20:14
【问题描述】:

我有一个“发票”表格,我运行一个“发票来源”来为我的客户创建发票。我的所有客户数据;地址、小时费率等都在我的“客户列表”表格中。表格通过一个共同的帐户/客户 ID 链接在一起。

我不想在每次创建发票时都更新一般项目,例如小时费率、地址。我希望设置一个更新后事件,当我在“发票”表单上输入客户 ID 时,该事件将自动从“客户列表”表中填充这些常规项目。

---Update---

下面是我正在使用的代码,我不断收到错误“预期:列表分隔符或)。

正常说话;我的“发票”表单上的服务类型字段应查看我的客户列表表中的服务类型字段,以获取与帐户 ID 相同的客户 ID。

Private Sub Client_ID_Change()
Service_Type = DLookup("Service_Type", "Client Lists", "Account ID=" & Client ID)
End Sub

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    你有没有尝试过?

    简短的回答是:

    创建一个查询来表示您想要的数据。在 vba 中,使用记录集为您获得的 ID 运行查询逻辑,然后在表单的记录集中显示返回的数据。

    但是这里没有细节,因为你自己很少

    【讨论】:

    • 我很抱歉缺少细节,但这是因为我什至不知道从哪里开始。您的概念信息有所帮助。我可以使用该信息创建一个查询,我想我不明白如果客户和发票之间已经存在关系,为什么你不能只引用该表。为什么一定是查询。
    • 我很抱歉我太简洁了。这里有一个术语打嗝。 “查询”是指 SQL 查询语句。如果您编写 SQL 代码并将其用作任何类型(DAO、ADO)的记录集的源,则这被视为“查询”。 ms-access 也有查询,它们既是又不是同一件事:您可以通过在导航窗格中双击它或通过 docmd.openQuery 打开 ms-access 查询 - 它的作用是运行 SQL使用 DAO 定义该查询的逻辑;从概念上讲,与自己编写查询并直接使用记录集在表上运行它没有什么不同。
    • 不知道你的能力是什么,最简单的答案是建议使用 ms-access 创建一个查询,并提供一些关于下一步做什么的面包屑。
    • 感谢您的信息。我一直在学习试图学习这一点。我已经用我正在使用的代码更新了我的原始问题。希望这会有所帮助。
    【解决方案2】:

    dlookup 函数的语法错误。

    要根据包含空格的字段指定搜索条件(dlookup 的最后一个参数),您必须将其括在括号中。还要考虑到控件名称可以有空格,但要在 vba 中引用它们,您必须使用下划线替换它们。

    "[Account ID]=" & Client_ID
    

    我强烈建议您命名表格字段和表单控件时不要使用空格。

    【讨论】:

      猜你喜欢
      • 2013-01-02
      • 1970-01-01
      • 1970-01-01
      • 2015-10-29
      • 2016-11-23
      • 2017-04-27
      • 1970-01-01
      • 1970-01-01
      • 2019-12-12
      相关资源
      最近更新 更多