我用ommbo5.text ommbo6.text 是用户输入的(and,or)关系
ommbo1.text ommbo2.text 是用户输入的字段
ommbo3.text ommbo4.text 是用户输入的关系符号(=,<>,<,>)
text1.text text2.text 是用户输入的字段直
程序是:
Private Sub Command5_Click()
sql1 = ""
sql2 = ""
If Combo1.Text <> "" Then sql1 = Combo5.Text & Combo1.Text & Combo3.Text & "'" & Text1.Text & "'": selectsql = selectsql & sql1
If Combo2.Text <> "" Then sql2 = Combo6.Text & Combo2.Text & Combo4.Text & "#" & Text2.Text & "#": selectsql = selectsql & sql2
Label2.Caption = Label2.Caption & sql1 & sql2
End SubPrivate Sub Command6_Click()
Adodc1.CommandType = adCmdText
str1 = "select * from 户籍 where 户号<>'-1' " & selectsql
Adodc1.RecordSource = str1
Adodc1.Refresh
End SubPrivate Sub Form_Load()
Dim str As String
Dim sql1 As String
Dim sql2 As String
Dim selectsql As String
selectsql = ""
str1 = ""
End Sub
运行程序后,按查询按钮什么反应也没有!!!!!!!

解决方案 »

  1.   

    '下面的变量应放到所有事件过程的外面定义,你放在form事件中没有意义。
    Dim str As String
    Dim sql1 As String
    Dim sql2 As String
    Dim selectsql As StringPrivate Sub Command5_Click()
    sql1 = ""
    sql2 = ""
    If Combo1.Text <> "" Then sql1 = Combo5.Text & Combo1.Text & Combo3.Text & "'" & Text1.Text & "'": selectsql = selectsql & sql1
    If Combo2.Text <> "" Then sql2 = Combo6.Text & Combo2.Text & Combo4.Text & "#" & Text2.Text & "#": selectsql = selectsql & sql2
    Label2.Caption = Label2.Caption & sql1 & sql2
    End SubPrivate Sub Command6_Click()
    Adodc1.CommandType = adCmdText
    str1 = "select * from 户籍 where 户号<>'-1' " & selectsql
    Adodc1.RecordSource = str1
    Adodc1.Refresh
    if adodc1.recordset.bof and adodc1.recordset.eof then
       msgbox "没有找到记录!!!"
       exit sub
    else
       msgbox "找到:" & adodc2.recordset.recorcount & "条记录!!!"
    end if
    End Sub没有反应会不会是数据库没有符合条件的记录?