我的一张表内有6个字段
我要查找内容用vb+sql
我想以六个文本框用来作  输入条件  text 1 text2 、、、、text6
text并不是每个都填的,面是随便填,可能只有一个空的,可能有二个、、、、而且不一定哪个是空的!怎么生成sql句子????  是不是一定要用判断啊!!!?那样的话不是写不完!能不能用一句sql搞定?????

解决方案 »

  1.   

    我的一张表内有6个字段
    我要查找内容用vb+sql
    我想以六个文本框用来作  输入条件  text 1 text2 、、、、text6
    text并不是每个都填的,面是随便填,可能只有一个空的,可能有二个、、、、而且不一定哪个是空的!怎么生成sql句子????  是不是一定要用判断来具体组合啊!!!?那样的话不是写不完!能不能用一句sql搞定?????
      

  2.   

    try something like the following, although it may not be what you want:
    sql = "SELECT * FROM yourtable WHERE "
    sql = sql & " text1 LIKE '%" & TextBox1.Text & "%' AND "
    sql = sql & " text2 LIKE '%" & TextBox2.Text & "%' AND "
    sql = sql & " text3 LIKE '%" & TextBox3.Text & "%' AND "
    sql = sql & " text4 LIKE '%" & TextBox4.Text & "%' AND "
    sql = sql & " text5 LIKE '%" & TextBox5.Text & "%' AND "
    sql = sql & " text6 LIKE '%" & TextBox6.Text & "%'"
      

  3.   

    基本同意 saucer(思归) sql = "SELECT * FROM yourtable WHERE "
    sql = sql & " text1 LIKE '%" & trim(TextBox1.Text) & "%' AND "
    sql = sql & " text2 LIKE '%" & trim(TextBox2.Text) & "%' AND "
    sql = sql & " text3 LIKE '%" & trim(TextBox3.Text) & "%' AND "
    sql = sql & " text4 LIKE '%" & trim(TextBox4.Text) & "%' AND "
    sql = sql & " text5 LIKE '%" & trim(TextBox5.Text) & "%' AND "
    sql = sql & " text6 LIKE '%" & trim(TextBox6.Text) & "%'"注意这样做查询的效率很低,最好还是老老实实判断好。
      

  4.   

    sql = "SELECT * FROM yourtable WHERE 1=1"
    if trim(text1.text)<>"" then
       sql = sql & "and field1 ='" & Text1.Text & "'"
    end if
    if trim(text2.text)<>"" then
       sql = sql & "and field2 ='" & Text2.Text & "'"
    end if
    if trim(text3.text)<>"" then
       sql = sql & "and field3 ='" & Text3.Text & "'"
    end ifif trim(text4.text)<>"" then
       sql = sql & "and field4 ='" & Text4.Text & "'"
    end ifif trim(text5.text)<>"" then
       sql = sql & "and field5 ='" & Text5.Text & "'"
    end ifif trim(text6.text)<>"" then
       sql = sql & "and field6 ='" & Text6.Text & "'"
    end if
      

  5.   

    SQL="select * from 表 where 1=1" & IIF(text1.text="",""," AND 字段1=" & text1.text) & IIF(text2.text="",""," AND 字段2=" & text2.text) &...& IIF(text6.text="",""," AND 字段6=" & text6.text)
      

  6.   

    对不起上面的 少了单引号,应该是:
    SQL="select * from 表 where 1=1" & IIF(text1.text="",""," AND 字段1='" & text1.text & "'") & IIF(text2.text="",""," AND 字段2='" & text2.text & "'") &...& IIF(text6.text="",""," AND 字段6='" & text6.text & "'")