简单使用记录集来查找报告上的文本框值

时间:2018-03-10 19:37:01

标签: vba ms-access recordset

我试图学习如何在VBA中使用记录集并从这里开始。我想从ProductVars表中查找值,并在报表上为每个记录[ProductID]填充一个文本框。

我想要的值是Field [Name] =" Hinging"我需要它将Field [Value]中的值发送到报告上的txtHinge文本框。

这是我目前的代码。

Private Sub Report_Load()

Dim db As DAO.Database
Dim rs As DAO.Recordset

Set db = CurrentDb

'Open a table-type Recordset
Set rs = db.OpenRecordset("ProductVars")

'Find the value of Hinging from the Name field Name and populate to txtHinge 
for the ProductID

Do Until rs.EOF
Me.txtHinge = rs!Name.Hinging.Value
rs.MoveNext
Loop

End Sub

非常感谢任何帮助。

Image of ProductVars table

1 个答案:

答案 0 :(得分:0)

在文本框ControlSource中:

=DLookup("[Value]", "PRODUCTVARS", "[Name]='Hinging' AND ProductID=" & [ProductID])

或者,如果必须考虑多个动态参数:

=DLookup("[Value]", "PRODUCTVARS", "[Name]='" & [Name] & "' AND ProductID=" & [ProductID])

如果是后者,可能只需在报告RecordSource中包含带有复合连接的PRODUCTVARS表。