Vba 双击列表框访问中的sql结果
我一直在寻找有关stackoverflow的一些答案,但我没有找到任何答案。所以我决定问我自己的问题 我正在用VBA编写搜索引擎,以便在数据库中查找合同 这就是我到目前为止所做的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
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 & "'"