Vba 双击列表框访问中的sql结果

Vba 双击列表框访问中的sql结果,vba,ms-access,listbox,Vba,Ms Access,Listbox,我一直在寻找有关stackoverflow的一些答案,但我没有找到任何答案。所以我决定问我自己的问题 我正在用VBA编写搜索引擎,以便在数据库中查找合同 这就是我到目前为止所做的 Private Sub cmd_recherche_Click() Dim strTable As String, strField As String, strCriteria As String, strSql As String Dim Criter As Variant If Me.listbox_sear

我一直在寻找有关stackoverflow的一些答案,但我没有找到任何答案。所以我决定问我自己的问题

我正在用VBA编写搜索引擎,以便在数据库中查找合同

这就是我到目前为止所做的

Private Sub cmd_recherche_Click()

Dim strTable As String, strField As String, strCriteria As String, strSql As String
Dim Criter As Variant

If Me.listbox_search = "Num_contract" Then

Debug.Print Me.listbox_search

strTable = "AFN_LOT0"     
strField = "NUMERO"         


strCriteria = strTable & "." & strField & " Like """ & Me.txt_critere & """"


strSql = "SELECT DISTINCTROW " & strTable & "." & strField & "," & strTable & ".FORMULE," & strTable & ".DATE_EFFET," & strTable & ".DATE_ECHEANCE," & strTable & ".ETAT," & strTable & ".CODE_RESILIATION," & strTable & ".DATE_RESIL," & strTable & ".DATE_OPERATION"
strSql = strSql & " FROM " & strTable
strSql = strSql & " WHERE " & strCriteria & ";"


Me.lst_resultat.RowSource = strSql  
Me.lst_resultat.Requery

End if 
End sub
现在,我希望能够双击列表框(lst_resultat)中的一个结果并打开另一个表单(F_InfosContract),该表单将包含列表框中选择的合同的所有信息(发送到单独的表中,所有这些表都由字段ID_SOR链接在一起)

我试过了,但它只打开表单,列表框中没有任何内容

Private Sub lst_resultat_DblClick(Cancel As Integer)
Dim stLinkCriteria As String
Dim Selection As String

Selection = lst_resultat.Value
stLinkCriteria = Selection

DoCmd.OpenForm "F_InfosContract", , , stLinkCriteria
End Sub
如果有人能帮我,那就太好了

对不起,我的英语不好

Mdgy

您仅提供所选值作为stLinkCriteria,这需要是格式正确的Where条件。举个例子:

DoCmd.OpenForm "frmStaff", , , "StaffID=" & Me.List1.Value
StaffID是另一个表中字段的名称,在您的示例中是ID\u SOR

如果id是文本字段,则值需要用撇号括起来:

DoCmd.OpenForm "frmStaff", , , "StaffID='" & Me.List1.Value & "'"

好的,我已经用“ID\u SOR=“&Me.lst\u resultat.Value”替换了stLinkCriteria,它仍然会打开第二个表单,其中的列表框为空。第二张表格的属性有什么需要更改的吗?
DoCmd.OpenForm "frmStaff", , , "StaffID='" & Me.List1.Value & "'"