本帖最后由 he59195 于 2012-03-12 15:55:20 编辑

解决方案 »

  1.   

    procedure TFormbstj.BitBtn2Click(Sender: TObject);
    var
      s99,tj:string;
    begin  tj:=combobox3.text; //单击此处列出网点名称,我是按网点名称和日期段统计的   if (rbwd.Checked)and(combobox3.Text<>'') then
      s99:='select * from jl where 网点名称 ="'+tj+'" ';
       // adoquery1.sql.add('select 姓名 sum(合计) from jl 网点名称 ="'+tj+'" and 笔数时间>=#'+datetostr(r1.date)+'# and 笔数时间<=#'+datetostr(r2.date)+'#');
       with adoquery1 do begin
        close;
        sql.clear;
        sql.Add(s99);
        try
          open;
        except
          adoquery1.execsql;
        end;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add( 'SELECT SUM(合计) FROM   jl  where   网点名称 ="'+tj+'" and 笔数时间>=#'+datetostr(r1.date)+'# and 笔数时间<=#'+datetostr(r2.date)+'#      ');ADOQuery1.Open;
    EDIT1.TEXT:=adoquery1.Fields[0].AsString;
    statusbar1.Panels[1].Text:='  当前统计的网点名称为: '+combobox3.text+'  共计笔数:   '+edit1.text+' 笔    ';
    MessageBox(handle, '恭喜你,统计成功!', '提示', mb_IconWarning + mb_Ok);
    ADOQuery1.SQL.Clear;
    ADOQuery1.close;ADOQuery1.close;
    adoquery1.sql.add('select 姓名,网点名称,sum(合计) as 合计笔数,sum(合计) as 平均笔数,网点编号,柜员号,身份证号 from jl where   网点名称 ="'+combobox3.text+'" and 笔数时间>=#'+datetostr(r1.date)+'# and 笔数时间<=#'+datetostr(r2.date)+'# group by 姓名,'','',网点名称,网点编号,柜员号,身份证号     ');
    //下面是点了统计后设置各列的宽度
    adoquery1.Active :=true;
    dbgrid1.datasource :=datasource1;
    DBGrid1.Columns.Items[0].Width := 74 ;
    DBGrid1.Columns.Items[1].Width := 80 ;
    DBGrid1.Columns.Items[2].Width := 60 ;
    DBGrid1.Columns.Items[3].Width := 90 ;
    DBGrid1.Columns.Items[4].Width := 80 ;
    DBGrid1.Columns.Items[5].Width := 90 ;
    DBGrid1.Columns.Items[6].Width := 135 ;
     ADOQuery1.Open;
    end;
    end;我贴出代码了,望各位帮我完善一下
      

  2.   

    sum(合计)/30 as 每月平均这是对的, 变量方式var i:integer;sum(合计)/'+IntToStr(i)+' as 每月平均
      

  3.   

    adoquery1.Active :=true;dbgrid1.datasource :=datasource1;
    DBGrid1.Columns.Items[0].Width := 74 ;
    DBGrid1.Columns.Items[1].Width := 80 ;
    DBGrid1.Columns.Items[2].Width := 60 ;
    DBGrid1.Columns.Items[3].Width := 90 ;
    DBGrid1.Columns.Items[4].Width := 80 ;
    DBGrid1.Columns.Items[5].Width := 90 ;
    DBGrid1.Columns.Items[6].Width := 135 ;
     ADOQuery1.Open;程序有问题啊,,ACTIVE=TRUE后还能OPEN?
      

  4.   

     
    RoundTo(0.123111,-2)
    结果为0.12
    引用 
    uses   math
      

  5.   


    roundto(sum(合计)/'+IntToStr(i)+',-2) as 平均笔数  加了引用MATH 
    这里改成这样,说函数未定义
      

  6.   

    引用  
    uses math、、这个单元啊,,,
      

  7.   

    round(sum(合计)/'+IntToStr(i)+'),2) as 每月平均//记错了,,一时忘了是在SQL 语句中的,只需上面的就可以了
      

  8.   

    case5166
    有QQ吗?我的是1185394991 加一下吧,QQ方便些