我试图学习如何在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
非常感谢任何帮助。
答案 0 :(得分:0)
在文本框ControlSource中:
=DLookup("[Value]", "PRODUCTVARS", "[Name]='Hinging' AND ProductID=" & [ProductID])
或者,如果必须考虑多个动态参数:
=DLookup("[Value]", "PRODUCTVARS", "[Name]='" & [Name] & "' AND ProductID=" & [ProductID])
如果是后者,可能只需在报告RecordSource中包含带有复合连接的PRODUCTVARS表。