【问题标题】:Updating Fields in a Table with Values from Query使用查询中的值更新表中的字段
【发布时间】:2020-02-02 08:08:23
【问题描述】:

我很难理解为什么我用于更新 Microsoft Access 表单字段的事件代码只工作了一半。

我有一个查询,我们将调用 DataQuery,它从我们将调用的 Table1 中选择 3 个列值,如下所示:

**Part**       **Description**       **Revision**
10-123             Descrip1             A
10-342             Descrip2             D
10-232             Descrip3             E

我有另一个表,我想将描述和修订中的值分配给另一个表中的字段,我们将调用 Table2,基于在组合框中选择一个值。

例如:

我们在组合框中选择 10-342 的值,然后将值“Descript2”和“D”分配给 Table2 中的字段。

我可以让它适用于我在位置一的任何列,但不是位置二。

我的小vba代码:

Private Sub ComboBox_AfterUpdate()

    Me.DescriptionField_Table2 = Me.ComboBox.Column(1)
    Me.RevisionField_Table2 = Me.ComboBox.Column(2)
    Me.Requery

End Sub

其中“ComboBox”行源是前面提到的DataQuery。

如上所述,“Me.DescriptionField_Table2 = Me.ComboBox.Column(1)”按预期工作,但第二行似乎被忽略了。我觉得我在这里遗漏了一些超级简单的东西,但我无法弄清楚。

【问题讨论】:

  • 将组合框的属性ColumnCount设置为3。
  • 为什么要将描述性信息复制到另一个表中?只需保存零件值或自动编号主键。在查询连接表中检索相关信息。
  • @June7 为了给您一些见解,我试图将信息提取到一个子表单中,我想在其中显示修订和描述。我会注意到这可能仍然不是最好的方法,但我唯一能想到的就是在子表单的表中添加一个列,以便它得到更新。
  • @Gustav 这行得通!太感谢了。我知道这很容易。
  • 文本框中的表达式可以引用组合框的列以显示描述性值。没有 VBA,也没有数据重复。

标签: sql vba ms-access


【解决方案1】:

我知道这很简单......

Gustavthe comments,回答了我的问题:

将组合框的属性 ColumnCount 设置为 3。

【讨论】:

  • 这次没有其他答案可以接受。我已经编辑了自我回答以包含评论,并注明出处。
猜你喜欢
  • 1970-01-01
  • 2018-03-06
  • 1970-01-01
  • 2019-11-10
  • 1970-01-01
  • 1970-01-01
  • 2020-06-02
  • 1970-01-01
  • 2015-09-06
相关资源
最近更新 更多