有很多个参数,如A1、A2、A4、A4……怎么根据这些数据进行查询?查询的时候,查询的项目是不固定的。如果一个一个的if语句去查找,组合起来的选择太多了点……有没有简单的办法进行查询?

解决方案 »

  1.   

    简单方法 木有 组合也不难啊  sql=“select * from 表 where 1=1” if 查1 字段 then
       sql=sql & “ and 字段1=值”
    end ifif 查2 字段 then
       sql=sql & “ and 字段2=值”
    end if
      

  2.   

    没看明白很多个参数是指?A1、A2、A3、A4是程序里定义的变量还是数据库字段还是啥?
      

  3.   


    对确定的参数进行查询是没多少,但是要查找几个参数的组合,数量还是很多的,你说的方法,我没太明白:是把第一次查找到的数据作为一个新的数据库(假设为data1),然后再在新的数据库(data1)内查找下一个参数,生成数据库(data2),然后再在data2中查找下一个参数……如此类推?
      

  4.   

    Private Sub Command2_Click()
        If AdoData.State > 0 Then AdoData.Close
        
        Dim sql As String
        sql = "Select * From sflens"
        
        If Combo1.Text <> "" Then
            sql = sql & " where index1='" & Combo1.Text & "'"
            AdoData.Open sql, db, adOpenStatic, adLockOptimistic
        End If
        
        If Combo2.Text <> "" Then
            sql = sql & " and sz='" & Combo2.Text & "'"
            MsgBox sql
            AdoData.Open sql, db, adOpenStatic, adLockOptimistic
        End If
        
        Set DataGrid1.DataSource = AdoData
    End Sub在执行的时候出错了,说
    实时错误'3705'
    对象打开时,不允许操作。
    问题出在哪里?