access:使用VBA单独填充文本框

时间:2015-02-17 09:28:52

标签: vba ms-access access-vba

在Acces中,我有一个带有独立文本框的连续表单。 我尝试使用vba为查询结果中的每个记录查找填充它,但这会填充所有具有相同值的文本框。

My form 这是我的表格

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")有评论。

是否有解决方案可以单独填写每个文本框?

1 个答案:

答案 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查询中直接为记录集对象选择两个值。

然后使用文本框的属性将其绑定到查询中的值。

祝你好运