【问题标题】:Access 365 - Error When Populating Unbound Text Field from Combo BoxAccess 365 - 从组合框填充未绑定文本字段时出错
【发布时间】:2020-11-20 18:06:42
【问题描述】:

对于冗长的描述,我们深表歉意,但这似乎是一种谨慎的做法。

我在获取组合框以正确填充子表单中的文本字段时遇到问题。

根据本周早些时候的网上冲浪和一些有关将 VBA 添加到表单的有用指导,这是我尝试过的。

我创建了一个表格tblPgo,显示了项目进行的几个概率和相应的描述。

我有第二张表 tblDetails,其中包含有关我们正在销售的商品的信息。

这两个表在子表单tblDetals subform 中交互。

我在子表单中添加了一个组合框cmbPgoValue。组合框从tblPgo获取数据

控制源是Pgo

行来源是SELECT [tblPgo].[PgoID], [tblPgo].[Pgo], [tblPgo].[PgoDescription] FROM tblPgo ORDER BY [Pgo];

Row Source 语法由组合框向导创建。

在子表单中,我创建了一个名为 Pgo Description 的未绑定文本框,用于接收与组合框中所选 Pgo 值对应的 PgoDecription 文本。

cmbPgoValue 具有以下更新后事件代码

Private Sub cmbPgoValue_AfterUpdate()

Me.PgoDescription = Me.cmbPgoValue.Column(2)

End Sub

当我使用组合框选择 Pgo 值时,正确的 Pgo 描述会填充当前记录及其下方的记录。当我尝试完成错误填充的记录时,我收到有关复制索引等的错误。

我尝试过限制文本框,但似乎没有帮助。

提前致谢。

【问题讨论】:

  • tblDetails中有一个名为Pgo的字段?建议不要在多个表中使用完全相同的字段名称。

标签: ms-access combobox textbox populate


【解决方案1】:

这是 UNBOUND 文本框的预期结果。只有一个描述文本框,因此所有记录都将显示相同的信息。不应将此信息复制到 tblDetails 中。而不是 VBA,只是在文本框 ControlSource 中有表达式:

=cmbPgoValue.Column(2)

【讨论】:

  • 再次感谢。有件事告诉我,当我的项目完成后,我会欠你一瓶好酒。
  • ControlSource 表达式按预期工作。新问题(或我没有详细说明的旧问题)。在 Blue Widget 下输入第二条记录并使用组合框为其指定 Pgo 值时,会填充描述,但我收到以下错误 The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship..." 再次感谢。
  • 听起来需要发布一个新问题。听起来像是一个设计问题。
  • 呃。明天需要解决这个问题。
猜你喜欢
  • 1970-01-01
  • 2014-04-13
  • 2017-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多