在文本框中选择查询存储值 ms access

问题描述

这是我的代码,它将值存储到“测试”组合框中,但我想将其存储在“测试”文本框中

Dim text3 As String
Dim text4 As String

Dim sql As String


Size_1.SetFocus
text3 = Size_1.text
Order_1_Company.SetFocus
text4 = Order_1_Company.text



sql = " SELECT S_Rate from Stock_T where S_Size = '" + text3 + "' And S_Company_Name = '" + text4 + "'"

test.RowSource = ""

test.RowSource = sql

解决方法

不要引用 Text 属性,应该是 Value 但因为 Value 是默认值所以不需要引用。使用 & 字符进行连接。

可以打开一个记录集来检索相关数据,但由于您只需要一个值,因此以下方法更简单。

使用DLookup():
=DLookup("S_Rate","Stock_T","S_Size='" & text3 & "' AND S_Company_Name ='" & text4 & "'"

但是,通常更好的方法是将查找字段包含在组合框 RowSource 中,然后通过其列索引引用该字段。列索引从零开始:
=[comboboxName].Column(2)

另一个是在表单记录源中包含查找表并将文本框绑定到字段。将文本框设置为 Locked Yes 和 TabStop No。

如果希望保存查找值,则使用代码 - VBA 或宏。使用上述方法之一在未绑定的文本框中显示费率,以便用户在数据输入期间可以看到它。然后在某些事件中使用代码(最有可能形成 BeforeUpdate)来保存。 VBA 示例:
Me!S_Rate = Me.textboxname