我有一个查找类型的组合框,即,我选择源作为表中的列,并将所选值存储在另一个表中。我正在查找的表还有另一列,我需要在文本框中显示此列中的值,每次更改组合框中的值时,我都需要在文本框中显示相应的值。我怎样才能做到这一点?到目前为止,我所做的是编写一个
Select
查询,根据组合框的值选择适当的列。有没有更合适的方法来做到这一点?请帮助我!
将组合框的源设置为您的 2 个字段,例如
SELECT id, name FROM Customers
=MyCombo.Column(1)
(根据记忆,此列索引是从零开始的)。使用组合框的事件会更好,例如onChange,因此当进行选择时,事件会设置文本框的值。
me!txtTextBox1 = me!cboComboBox1.column(1)
这样每次都会有效。
您还可以使用带有 onClick 等的按钮,但选择权在您(正如上一篇文章中提到的,根据行源更改列号,其中 0 是第一个。
阅读问题和答案后,我尝试了以下方法,它似乎效果很好(到目前为止):
为了显示组合框选择的多列,我采取了以下措施:
将文本框放在组合框上, 通过对其他字段进行采样来调整其大小,以便它覆盖组合框的文本框架。 我特意在 NEW 文本框右侧留了一个小空间,以表明它 不是组合框的一部分。
在文本框中的控制源中输入以下表达式:
=[DefaultAcct].[Column](1) & " " & [DefaultAcct].[Column](2)
然后,在组合框的“onchange”事件中,将焦点设置到文本框。
Private Sub DefaultAcct_Change()
txtConcatenate1.SetFocus
End Sub