My_Query = ""
If Not txtName.Text = "" Then My_Query = My_Query & " 姓名 like " & "( '" & txtName.Text & "%')"
If Not cmbSex.ListIndex = -1 Then My_Query = My_Query & " AND 性别 =" & " '" & cmbSex.Text & "'"
   adoQuery.RecordSource = "SELECT * FROM 专家资料 WHERE " & My_Query & " ORDER BY ID"
  用上面的查询,当只输入姓名时没有问题,但同时输入性别就会报错,什么没有操作苻之类得。
   多种条件综合查询要怎么做啊!哪位大侠给个范例好么!

解决方案 »

  1.   


    "select * from d_log where b_dhhm='" & rz_b_dhhm & "' and b_rq='" & v_day & "' and b_receive_time='" & rz_b_receive_time & "' and b_dzzs='" & rz_b_dzzs & "'"rz_b_dhhm,v_day,rz_b_receive_time,rz_b_dzzs等变量已事先声明
      

  2.   

    你的 AND 性别 = 这里的等号是全角符号啊,应该是 AND 性别 = 才对。
      

  3.   

    修改如下,调试通过Dim my_Query  As String
    my_Query = ""If Trim(txtName.Text) <> "" Then
        my_Query = " 姓名 like " & "'%" & txtName.Text & "%'"
    End IfIf Trim(my_Query) <> "" And Trim(cmbSex.Text) <> "" Then
        my_Query = my_Query & " AND 性别 =" & "'" & cmbSex.Text & "'"
    ElseIf Trim(my_Query) = "" And Trim(Combo1.Text) <> "" Then
        my_Query = " 性别 =" & "'" & cmbSex.Text & "'"
    ElseIf Trim(my_Query) = "" And Trim(cmbSex.Text) = "" Then
        MsgBox "请输入查询条件"
        Exit Sub
    End If