我的窗体上有几个复选框,当这几个复选框处于全部选中的状态时,SQL语句为select * form staff,
如果只有一个选中的时候,SQL语句为select a from staff,如果有两个选中的时候,SQL语句为
select a,b from staff,如果有三个选中的时候,SQL语句为select a,b,c from staff。如此类推,
目的是让用户可以自已选择要查询的字段。
请问大家该如何实现?

解决方案 »

  1.   

    定义一个变量,select 变量 from staff
      

  2.   

    全选的时候可以为 select a,b,c,d……dim cons as string 
    则 if chk1.value=vchecked then
        cons= con1
       end if   if chk2.value=vchecked then
         if cons<>"" then
            cons=cons & "," & con2
         else
            cons=con2
         end if 
       end if   以此类推   strsql="select " & cons & " from staff"   这样可以吗?
       end if
      

  3.   

    全选的时候可以为 select a,b,c,d……dim cons as string 
    则 if chk1.value=vchecked then
        cons= con1
       end if   if chk2.value=vbhecked then
         if cons<>"" then
            cons=cons & "," & con2
         else
            cons=con2
         end if 
       end if   以此类推   strsql="select " & cons & " from staff"   这样可以吗?
       end if
      

  4.   

    我不太明白,cons<>""是怎么判断出来的?
    不过定义一个变量是个好主意
    您的意思是依次判断另一个check是否被选中,我就是不懂:如果check2没有被选中,那么cons2="",但是在SQL语句中是怎么写呢?
      

  5.   

    CheckBox用数组可能会方便一些的。从0开始检查,哪个选中了就取控件数组中的索引值加上a的ASCII码值就可以了。至于是否全选,多个判断就可以了
      

  6.   

    dim sql as string
    dim strf1,strf2,strf3,strf
    if if check1.value = 1 then
        strf1 = ",a"
    end if
    if if check2.value = 1 then
        strf2 = ",b"
    end if
    if if check3.value = 1 then
        strf3 = ",c"
    end if
    strf=strf1 & strf2 &strf3
    strf=trim(mid(strf,1))
    sql="select "& strf &" from tb"
      

  7.   

    对,对,没错,谢谢!vbman2003(家人) 
    另外也谢谢大家的关心!:)