在Acces中,我有一个带有独立文本框的连续表单。 我尝试使用vba为查询结果中的每个记录查找填充它,但这会填充所有具有相同值的文本框。
这是我的表格
Private Sub Form_Open(Cancel As Integer)
Dim WO As String
WO = Forms![Maintenance input formulaire]![Maintenance input sous formulaire].Form![WONumber]
query = "select comment from SystemAircraftStatus where SystemID = " + CStr(Me.SystemID) + " and WO = '" + WO + "';"
Debug.Print (query)
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset(query)
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst
Me.Texte54.Value = rs.Fields("comment") 'PROBLEME : est appliqué a tous les enregistrements
End If
End Sub
这是VBA代码,只有第一个结果(" autre")有评论。
是否有解决方案可以单独填写每个文本框?
答案 0 :(得分:0)
为什么它用一个值填充所有文本框:它是一个连续的
表单,文本框未绑定。
文本框必须绑定到表单的recorset中的值才能显示不同的值。
我建议你使用记录集对象将文本框绑定到表单记录集中的值。像这样:
Sub Form_Open(Cancel As Integer)
dim qry as string
qry = _
"select WO, comment from SystemAircraftStatus where SystemID = " + CStr(Me.SystemID) + " and WO = '" + WO + "';"
me.recordset = qry
End Sub
您需要在SQL查询中直接为记录集对象选择两个值。
然后使用文本框的属性将其绑定到查询中的值。
祝你好运