【问题标题】:Access 2016 Form auto-populate based on another fieldAccess 2016 表单根据另一个字段自动填充
【发布时间】:2016-11-16 14:46:59
【问题描述】:

我有两个包含以下内容的表。

表名:查询

  • ID

  • 用户名

  • 培养日期

  • 升级时间

  • 发票

  • 重复联系

  • 查询类型

  • 查询上下文

  • DC

表名:PC

  • PCID

  • PCarea

  • 城镇

  • DCArea

  • DCName

我目前有一个表单设置,上面所有的字段都被选中。我将 PCArea 设置为下拉菜单,因为该字段有 2000 多条记录(邮政编码)。我想要的是当一个人更新此字段/下拉/组合框以供 Access 查找 PCArea 并找出 DCName 与此相关的内容,然后在“查询”中填充 DC 字段并显示在表单上但我可以不知道怎么做。

我知道它与 VBA 相关,但我似乎无法获得正确的格式?

Private Sub Combo472_AfterUpdate()

Me.PCArea = Me.Data.Column(9)

End Sub

当然没用!任何帮助都会很棒。

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    将 {PCAreaDropDown} 替换为下拉框的名称,您真正需要的只是其中的一个字段。根据您的示例,您似乎至少抛出了 10 列 (9+1)。

    me!DC = dlookup("DCName","PC", "PCArea = '" & me!PcAreaDropDown & "'"
    

    【讨论】:

    • 看起来该解决方案正在产生语法错误。我已将其更改为以下(按照您的建议)me!DC = dlookup("DCName","PC", "PCArea = '" & me.Combo472 & "'"@geeFlo
    • 是邮政编码还是邮政编码?如果它是数字,则去掉 PCArea 字符串中的单引号。还要确保 me!DC 语句引用了您正在更新的表单上的字段名。
    • 这是一个邮政编码,所以它是字母数字。 DC声明?您指的是 me!DC = Dlookup 部分吗?它针对的是一个名为“CU/DC 视图”的表单,但鉴于这已经在表单上,​​这有关系吗?
    • Private Sub Combo472_AfterUpdate() Me!DC = DLookup("DCName", "PC", "PCArea = '" & Me.Combo472 & "'") End Sub 是它目前的样子。当我运行它时,它不是要求我在 Data.DC 字段中输入一些东西......这几乎让人感觉很生气,因为这就是它的工作!
    • 并且 PC 表同时包含 DCNAME 和相应的 PCArea 字段,对吗?我的猜测是 Combo472 可能会返回该字段的索引。检查它是否包含多于一列的 PCArea。如果没有,那么您可能需要指定“.column(1)”或任何不是索引 (0) 的列。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-25
    • 2019-11-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-14
    相关资源
    最近更新 更多