Private Sub Command筛选_Click()
Public b As String
Public c As String
Dim str As String
str = "select * from 学生 where 1=1"
If Combo1.Text <> "全部" Then
    str = str + "and 班级='" & Combo1.Text & "' "
End If
If Combo2.Text <> "全部" Then
    str = str + "and 性别='" & Combo2.Text & "'"
End If
  
          If Combolc.Text = "全部学生" Then
             b = 0
             c = 100
          End If
       
          If Combolc.Text = "不极格" Then
             b = 0
             c = 60
          End If
       
          If Combolc.Text = "良" Then
             b = 61
             c = 70
          End If
       
          If Combolc.Text = "优" Then
            b = 71
            c = 100
          End If   
 
If Combolc.Text <> "全体同学" Then
str = str + "and   成绩 > " + b + " and 成绩 < " + c (主要是这里的问题引号怎么个加法)
End If
  Adodc1.RecordSource = str
  Adodc1.Refresh
End Sub

解决方案 »

  1.   

    这段代码别的地方基本没有问题,最主要我想问的是
    str = str + "and   成绩 > " + b + " and 成绩 < " + c (主要是这里的问题引号怎么个加法)
      

  2.   

    你现在加的没错啊,但最好用“&”代替“+”
      

  3.   

    哦,不是字符型,好像没有问题啊,不过+应该改为&str = str & "and   成绩 > " & b & " and 成绩 < " & c另:
    //str = "select * from 学生 where 1=1"
    应该有空格
    str = "select * from 学生 where 1=1 "
      

  4.   

    还是空格的问题str = str + "and 性别='" & Combo2.Text & "'"
    后面加空格
    str = str + "and 性别='" & Combo2.Text & "' "或者
    str = str & "and   成绩 > " & b & " and 成绩 < " & c
    前面加空格
    str = str & " and   成绩 > " & b & " and 成绩 < " & c
      

  5.   

    我的语句其它部分均调试正常,就是加引号有点加不好,
    请问各位高手有什么资料是专门讲ADO+SQL数据筛选加引号的啊。
    代码我试试啊
      

  6.   

    你加個斷點運行到這個地方測一下str的值就可以了!然後改動一下,很簡單的!
    或是用 debug.print str 測一下也行啊!
      

  7.   

    '引用 xiaohuasz() 的 “b,c定义为整型”这样不是挺好?你原来的代码就不用变
      

  8.   

    我觉的这段代码没什么问题注意加空格就行啦,然后把“+”改成“&“就行啦!