Private Sub cmdSearch_Click()    '“查询”按钮
Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset
    strSQL = "SELECT * FROM [Student]  "    '构造基本SQL语句
    If Trim(Text1.Text) <> "" Then    '若姓名不为空
        strSQL = strSQL & " AND 姓名 LIKE '%" & Text1.Text & "%'" '增加姓名过滤条件
    End If
    If Trim(Text2.Text) <> "" Then    '若姓名不为空
        strSQL = strSQL & " AND 学号 LIKE '%" & Text2.Text & "%'" '增加姓名过滤条件
    End If
    
    
    If Combo6.Text = "男" Then  '若性别为“男”
        strSQL = strSQL & " AND 性别='男'"   '增加性别过滤条件
    ElseIf Combo6.Text = "女" Then  '若性别为“女”
        strSQL = strSQL & " AND 性别='女'"   '增加性别过滤条件
    End If
        
   
    
        If Combo1.Text <> "全部" Then
        strSQL = strSQL & " AND 学院=" & Combo1.Text   '增加学院条件
    End If        If Combo2.Text <> "全部" Then
        strSQL = strSQL & " AND 专业=" & Combo2.Text   '增加专业条件
    End If
    
        If Combo3.Text <> "全部" Then
        strSQL = strSQL & " AND 咨询内容=" & Combo3.Text   '增加咨询内容条件
    End If
    
        If Combo4.Text <> "全部" Then
        strSQL = strSQL & " AND 咨询状态=" & Combo4.Text   '增加咨询状态
    End If        If Combo5.Text <> "全部" Then
        strSQL = strSQL & " AND 咨询师=" & Combo5.Text  '增加咨询师
    End If
        
        Set StuGrid.DataSource = QueryExt(strSQL)
End Sub

解决方案 »

  1.   

    strSQL 用断点打出来 然后 在查询分析器中 执行 看看错误在哪里 在回头找  这个是基本的调试操作
      

  2.   

    strSQL = "SELECT * FROM [Student] " 
    改为:
    strSQL = "SELECT * FROM [Student] WHERE 1=1 " 
      

  3.   

    缺少 WHERE 关键字。左手的方式可以一试。
      

  4.   


    我加了where以后又出现未发现数据源名称并且未指定默认驱动程序