试试吧~~顺便帮你简化一下~~  with DataModule6.Query1 do
  begin
    close;
    sql.clear;
    sql.add(' select ctclk.bmmc,ctclk.gx,ctclk.pzmc,sum(ctclk.hjzl),ctjhk.jh11/:gzr1,str((sum(ctclk.hjzl)/ctjhk.jh11*100)/:gzr2,5,2) as 完成百分比 from ctclk,ctjhk');
    sql.add(' where ctclk.pzbh=ctjhk.pzbh and ctjhk.bmmc=:fc1 and ctclk.bmmc=:fc and ctclk.gx='+#39+'槽筒'+#39+' and (scrq+1>=:rq1 and scrq<=:rq2) group by ctclk.pzmc,ctclk.bmmc,ctclk.gx,ctjhk.jh11');
    Parameters.ParamByName('gzr1').value:=edit1.Text;
    Parameters.ParamByName('gzr2').value:=edit1.Text;
    Parameters.ParamByName('fc').value:=fc.text;
    Parameters.ParamByName('fc1').value:=fc.text;
    Parameters.ParamByName('rq1').value:=rq1.datetime;
    Parameters.ParamByName('rq2').value:=rq2.datetime;
    open;
  end;

解决方案 »

  1.   

    str((sum(ctclk.hjzl)/ctjhk.jh11*100)/:gzr2,5,2) 完成百分比 
    这一句有点问题吧!
      

  2.   

    仍不行,但如下时,能返回结果,不知为何:
       with DataModule6.Query1 do
      begin
        close;
        sql.clear;
        sql.add(' select ctclk.bmmc,ctclk.gx,ctclk.pzmc,sum(ctclk.hjzl),ctjhk.jh11/30,str((sum(ctclk.hjzl)/ctjhk.jh11*100)/30,5,2) as 完成百分比 from ctclk,ctjhk');
        sql.add(' where ctclk.pzbh=ctjhk.pzbh and ctjhk.bmmc=:fc1 and ctclk.bmmc=:fc and ctclk.gx='+#39+'槽筒'+#39+' and (scrq+1>=:rq1 and scrq<=:rq2) group by ctclk.pzmc,ctclk.bmmc,ctclk.gx,ctjhk.jh11');
      //  Parameters.ParamByName('gzr1').value:=edit1.Text;
      //  Parameters.ParamByName('gzr2').value:=edit1.Text;
        Parameters.ParamByName('fc').value:=fc.text;
        Parameters.ParamByName('fc1').value:=fc.text;
        Parameters.ParamByName('rq1').value:=rq1.datetime;
        Parameters.ParamByName('rq2').value:=rq2.datetime;
        open;
      end;
      

  3.   

    把gzr1、gzr2换为固定值则能返回结果。
      

  4.   

    把gzr1、gzr2换为固定值则能返回结果。
      

  5.   

    把gzr1、gzr2换为固定值则能返回结果。
      

  6.   

        Parameters.ParamByName('gzr1').value:=StrToInt(edit1.Text);
        Parameters.ParamByName('gzr2').value:=StrToInt(edit1.Text);
      

  7.   

    sql.add(' select ctclk.bmmc,ctclk.gx,ctclk.pzmc,sum(ctclk.hjzl),ctjhk.jh11/'Edit1.Text,str((sum(ctclk.hjzl)/ctjhk.jh11*100)/'Edit2.Text',5,2) as 完成百分比 from ctclk,ctjhk');这句改为这样试试呢??
      

  8.   

    呵呵~~忘了写“+”号了~~sql.add(' select ctclk.bmmc,ctclk.gx,ctclk.pzmc,sum(ctclk.hjzl),ctjhk.jh11/'+Edit1.Text+',str((sum(ctclk.hjzl)/ctjhk.jh11*100)/'+Edit2.Text+',5,2) as 完成百分比 from ctclk,ctjhk');