我要做一个查询窗口,这个窗口中包含A、B、C、D、E 5个TEXTBOX,分别与我已有的ACCESS数据库字段对应(假设都是字符型),如果在这5个TEXTBOX中任意选择1个或多个输入查询条件,怎样编程实现精确查询?

解决方案 »

  1.   

    SQL语句的where字句中:
    true and 条件1 and 条件2 。。
    加true的目的就是可以实现下面多个条件用一个重复语句就可以实现
    当然再里面要加判断是否TEXTBOX为空
    如果为空则忽略
      

  2.   

    If Option1.Value Then
        my_db.CursorLocation = adUseClient
        my_db.Open strU
        adoRS.Open "SELECT * FROM 传真表 WHERE 文件名称 LIKE '%" & my_t1 & "%' and  文号 LIKE '%" & my_t2 & "%' and   档案号 LIKE '%" & my_t3 & "%' and  发文机关 LIKE '%" & my_t4 & "%' and  发文日期 LIKE '%" & my_t5 & "%' and  内容提要 LIKE '%" & my_t7 & "%' ", my_db, adOpenStatic, adLockReadOnly
        On Error GoTo FilterErr
        adoRS.MoveFirst
    End If
    If Option2.Value Then
        my_db.CursorLocation = adUseClient
        my_db.Open strU
        adoRS.Open "SELECT * FROM 已存文表 WHERE 文件名称 LIKE '%" & my_t1 & "%' and  文号 LIKE '%" & my_t2 & "%' and   档案编号 LIKE '%" & my_t3 & "%' and  发文机关 LIKE '%" & my_t4 & "%' and  发文日期 LIKE '%" & my_t5 & "%' and  内容提要 LIKE '%" & my_t7 & "%' ", my_db, adOpenStatic, adLockReadOnly
        On Error GoTo FilterErr
        adoRS.MoveFirst
    End If
    If Option3.Value Then
        my_db.CursorLocation = adUseClient
        my_db.Open strU
        adoRS.Open "SELECT * FROM 电子公文表 WHERE 文件名称 LIKE '%" & my_t1 & "%' and  文号 LIKE '%" & my_t2 & "%' and   档案号 LIKE '%" & my_t3 & "%' and  发文机关 LIKE '%" & my_t4 & "%' and  发文日期 LIKE '%" & my_t5 & "%' and  内容提要 LIKE '%" & my_t7 & "%' ", my_db, adOpenStatic, adLockReadOnly
        On Error GoTo FilterErr
        adoRS.MoveFirst
    End If