我用sql sever 建了名为“采购”的表,包含以下属性:
采购:
采购编号 varchar;
供应商名称  varchar
日期 datetime 
币种 char (美元,欧元,人民币)三种取值,
总价 money;
现在要进行统计,可以分别按照日期、币种、供应商来进行统计。当然也可以将这几个条件综合起来进行统计金钱。界面设计如下:
三个checkbox来决定日期、币种、供应商是否被选中(币种是必选的了)。三个groupbox。第一个groupbox中插入两个edit控件一个供输入统计的起始日期、一个输入统计的结束日期。第二个groupbox控件插入一个combobox供选择币种。第三个groupbox控件也插入一个combobox来选择供应商名称。最后还有个label来输出统计结果。请大侠帮忙写出代码,小第急用。谢谢!

解决方案 »

  1.   

    写在一个button的OnClick事件里:
    var
      StrSql,StrCondition:String;
    begin
      StrCondition:='';
      if CheckBox_Date.Checked then //日期被选中
        StrCondition:='and 日期>='''+Edit_Begin.Text+''' '+
                      'and 日期<='''+Edit_End.Text+''' ';
      if CheckBox_Customer.Checked then //供应商被选中
        StrCondition:=StrCondition+'and 供应商='''+Combobox_Customer.Text+''' ';
      
      StrSql:='select sum(总价) as Num from 采购 '+
              'where 币种='''+Combobox_Type.Text+''' '+StrCondition;
      with AdoQuery1 do
      begin
        Close;
        Sql.Clear;
        Sql.Add(StrSql);
        Open;
        if not IsEmpty then
          Label_Result.Caption:=FieldByName('Num').AsString;
      end;                     
    end;