if checkbox.checked then sql:=sql+'xxxxxxxxxxxxxx';

解决方案 »

  1.   

    再详细点.因为要涉及到and和or的判断.
    必须把7个checkbox包括在一个()里.用or来连接
      

  2.   

    for I := 1 to 7 do
    begin
      if Tcheckbox(findcomponent('checkbox' + inttostr(I))).checked then 
      begin
        case I of
          1:  sqltxt := ...
          2:  sqltxt := ...
          ... 
      end;
    end;具体的还有什么要求请明白说吧
      

  3.   

    同意cobi(我是小新,我只有5岁) 做法:
    我也有个笨办法:
    var
     sqltext:string;
    begin
      if checkbox1.checked then sqltext:=sqltext+'xxxxxx';
      if checkbox2.checked then sqltext:=sqltext+'xxxxxx';
      if checkbox3.checked then sqltext:=sqltext+'xxxxxx';
      if checkbox4.checked then sqltext:=sqltext+'xxxxxx';
      if checkbox5.checked then sqltext:=sqltext+'xxxxxx';
      if checkbox6.checked then sqltext:=sqltext+'xxxxxx';
      if checkbox7.checked then sqltext:=sqltext+'xxxxxx';
    end;
      

  4.   

    cobi的方法可以喔!不过你一定要灵活运用呀!!哈!!
      

  5.   

    TO:cobi(我是小新,我只有5岁)
    能否继续交流??
      

  6.   

    能否详细介绍component.findcomponent?
      

  7.   

    我的做法通常是:function GetASQLString:String;
    var
      strSQL,strComp:string;
    begin
      if CheckBoxAnd.Checked then 
        strComp:=' OR ' 
      else
        strComp:=' OR ';  strSQL:='';
      if CheckBoxWhere1.Checked then 
        strSQL:=' Name='''+Trim(EditName.Text)+'''';  if CheckBoxWhere2.checked then 
      begin
        if strSQL>'' then strSQL:=strSQL+strComp;
        strSQL:=strSQL+' Sex='''+Trim(EditSex.Text)+'''';
      end;    if CheckBoxWhere3.checked then 
      begin
        if strSQL>'' then strSQL:=strSQL+strComp;
        strSQL:=strSQL+' Age='''+Trim(EditAge.Text)+'''';
      end;  
      ....
      Result:=strSQL;
    end;
      

  8.   

    修正function GetASQLString:String;
    var
      strSQL,strComp:string;
    begin
      if CheckBoxAnd.Checked then 
        strComp:=' AND ' 
      else
        strComp:=' OR ';  strSQL:='';
      if CheckBoxWhere1.Checked then 
        strSQL:=' Name='''+Trim(EditName.Text)+'''';  if CheckBoxWhere2.checked then 
      begin
        if strSQL>'' then strSQL:=strSQL+strComp;
        strSQL:=strSQL+' Sex='''+Trim(EditSex.Text)+'''';
      end;    if CheckBoxWhere3.checked then 
      begin
        if strSQL>'' then strSQL:=strSQL+strComp;
        strSQL:=strSQL+' Age='''+Trim(EditAge.Text)+'''';
      end;  
      ....
      Result:=strSQL;
    end;   
      

  9.   

    to:adailee(念雪)
    理解错误,可以再交流吗?最主要是and (... or ....or ...)中的括号难控制.