⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ufz.pas

📁 在打沙场用的最简单
💻 PAS
📖 第 1 页 / 共 3 页
字号:
   sql.add(' and c.fdelivdate = :dd');
   sql.add('  group by   fname,fcode');
   if wwDBDateTimePicker2.Text<>'' then
   Parameters.ParamByName('dd').Value:=wwDBDateTimePicker2.Date;
   open;
  end;
    adoquery3.DisableControls;
  try
    excelid := createoleobject('excel.application');
    mybook := createoleobject('excel.sheet');
    mybook := excelid.workbooks.add;
    row := 1;
    col := 1;
    excelflg := true;
  except
    excelflg := false;
    application.MessageBox('请确定EXCEL是否正确安装!', '提示信息', mb_ok);
  end;
  if excelflg then
  begin
      colcount := 4;
      excelid.range['A' + inttostr(row), chr(64 + colcount) +
        inttostr(row)].merge();
      mybook.worksheets[1].cells.item[row, col] :=  '基本报表';
      mybook.worksheets[1].cells.item[row, col].font.size := 18;
      mybook.worksheets[1].cells.item[row, col].font.bold := true;
      mybook.worksheets[1].cells.item[row, col].HorizontalAlignment := xlcenter;
      row := row + 1;
      excelid.range['A' + inttostr(row), chr(64 + colcount) +
        inttostr(row)].merge();
      mybook.worksheets[1].cells.item[row, col] := '报表日期:' +
        datetostr(date);
      row := row + 1;
      frow := row;
      adoquery3.First;
        excelid.columns[1].ColumnWidth := Grid.Columns[0].Width / 8;
        excelid.columns[1].NumberFormatLocal := '@';
        mybook.worksheets[1].cells.item[row, 1] := '序号';

        excelid.columns[2].ColumnWidth := Grid.Columns[1].Width / 8;
        excelid.columns[2].NumberFormatLocal := '@';
        mybook.worksheets[1].cells.item[row, 2] := '物料代码';

        excelid.columns[3].ColumnWidth := Grid.Columns[2].Width / 8;
        excelid.columns[3].NumberFormatLocal := '@';
        mybook.worksheets[1].cells.item[row, 3] :='物料名称';

        excelid.columns[4].ColumnWidth := Grid.Columns[3].Width / 8;
        excelid.columns[4].NumberFormatLocal := '@';
        mybook.worksheets[1].cells.item[row, 4] := '扫描数量';

      i:=1;
      row := row + 1;
      while not adoquery3.Eof do
      begin

          mybook.worksheets[1].cells.item[row, 1] :=i;
          mybook.worksheets[1].cells.item[row, 2] := adoquery3.FieldByName('fcode').Value;
          mybook.worksheets[1].cells.item[row, 3] := adoquery3.FieldByName('fname').Value;
          mybook.worksheets[1].cells.item[row, 4] := adoquery3.FieldByName('fqty').Value;
          i:=i+1;
          row := row + 1;
          adoquery3.Next;
      end;
      excelid.range['A' + inttostr(row), chr(64 + colcount) +
        inttostr(row)].merge();
      mybook.worksheets[1].cells.item[row, col].font.size := 12;
      mybook.worksheets[1].cells.item[row, col].font.bold := true;
      mybook.worksheets[1].cells.item[row, col].HorizontalAlignment := xlcenter;
      mybook.worksheets[1].cells.item[row, col] := '总记录数:' +
       inttostr(adoquery3.RecordCount) + '条';
      row := row + 1;
      rpstr := '报表条件:';
      excelid.range['A' + inttostr(row), chr(64 + colcount) +
        inttostr(row)].merge();
      mybook.worksheets[1].cells.item[row, col] := rpstr;
      row := row + 1;
      excelid.range[chr(65) + inttostr(frow), chr(64 + colcount) + inttostr(row
        - 1)].Borders[1].LineStyle := xlContinuous;
      excelid.range[chr(65) + inttostr(frow), chr(64 + colcount) + inttostr(row
        - 1)].Borders[2].LineStyle := xlContinuous;
      excelid.range[chr(65) + inttostr(frow), chr(64 + colcount) + inttostr(row
        - 1)].Borders[3].LineStyle := xlContinuous;
      excelid.range[chr(65) + inttostr(frow), chr(64 + colcount) + inttostr(row
        - 1)].Borders[4].LineStyle := xlContinuous;
    excelid.visible := true;
  end;
  adoquery3.EnableControls;
end;

procedure Tffz.GridColExit(Sender: TObject);
var
n,ii:integer;
ss,sw,sii:string;
total:double;
begin
  //inherited;
  if  CDSsub.State in [dsEdit,dsinsert] then
  begin
  case  grid.SelectedIndex of
     2,3:
     begin
     GetsqlData(CDSselectsub,'Vitem','fid','fcode='+vartosql(CDSsub['fcode']),1);
       if CDSselectsub.RecordCount > 0 then
       begin
       CDSsub['fitemid']:=CDSselectsub['fid'] ;
       CDSsub['fname']:=CDSselectsub['fname'];
       CDSsub['fcode']:=CDSselectsub['fcode'];
        CDSsub['ftype'] :=CDSselectsub['ftype'];
       CDSsub['funit']:=CDSselectsub['funit'];
    //   CDSsub['color']:=CDSselectsub['color'];
     //  CDSsub['colorno']:=CDSselectsub['colorno'];
       CDSsub['zs']:=CDSselectsub['zs'];
      // CDSsub['gno']:=CDSselectsub['gno'];
//       CDSsub['stime']:=str4;
//       CDSsub['total'] :=strtofloat( str2)*CDSsub['fqty'];
     //  grid.SelectedIndex:=11;
       end
       else
        MessageDlg('没找到相应的资料 ? ',mtWarning,[MBOK],0);
      end;
      9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35:
      begin
      CdSsub['total']:=CDSsub['s1']+CDSsub['s2']+CDSsub['s3']+CDSsub['s4']+CDSsub['s5']+CDSsub['s6']+
                       CDSsub['s7']+CDSsub['s8']+CDSsub['s9']+CDSsub['s10']+CDSsub['s11']+CDSsub['s12'];

//      CDSsub['fqty']  :=CdSsub['pm']*CdSsub['total']/CdSsub['qtyunit']*(1+CDSsub['per1']/100);
        total:=0;
        for n:=1 to 12 do
         begin
           ss:='s'+inttostr(n);
           sw:='sw'+inttostr(n);
           total:=total+cdssub[ss]*cdssub[sw]/CdSsub['qtyunit']*(1+CDSsub['per1']/100);
         end;
        CDSsub['fqty']  :=total;
     end ;
 end;
 end;
end;

procedure Tffz.wwDBEdit6Change(Sender: TObject);
begin
  inherited;
grid.Columns[13].Title.caption:=wwDBEdit6.Text;
end;

procedure Tffz.wwDBEdit7Change(Sender: TObject);
begin
  inherited;
grid.Columns[15].Title.caption:=wwDBEdit7.Text;
end;

procedure Tffz.wwDBEdit9Change(Sender: TObject);
begin
  inherited;
grid.Columns[17].Title.caption:=wwDBEdit9.Text;
end;

procedure Tffz.wwDBEdit10Change(Sender: TObject);
begin
  inherited;
grid.Columns[19].Title.caption:=wwDBEdit10.Text;
end;

procedure Tffz.wwDBEdit11Change(Sender: TObject);
begin
  inherited;
grid.Columns[21].Title.caption:=wwDBEdit11.Text;
end;

procedure Tffz.wwDBEdit12Change(Sender: TObject);
begin
  inherited;
grid.Columns[23].Title.caption:=wwDBEdit12.Text;
end;

procedure Tffz.wwDBEdit13Change(Sender: TObject);
begin
  inherited;
grid.Columns[25].Title.caption:=wwDBEdit13.Text;
end;

procedure Tffz.wwDBEdit14Change(Sender: TObject);
begin
  inherited;
grid.Columns[27].Title.caption:=wwDBEdit14.Text;
end;

procedure Tffz.wwDBEdit15Change(Sender: TObject);
begin
  inherited;
grid.Columns[29].Title.caption:=wwDBEdit15.Text;
end;

procedure Tffz.wwDBEdit16Change(Sender: TObject);
begin
  inherited;
grid.Columns[31].Title.caption:=wwDBEdit16.Text;
end;

procedure Tffz.wwDBEdit17Change(Sender: TObject);
begin
  inherited;
grid.Columns[33].Title.caption:=wwDBEdit17.Text;
end;

procedure Tffz.wwDBEdit18Change(Sender: TObject);
begin
  inherited;
grid.Columns[35].Title.caption:=wwDBEdit18.Text;
end;

procedure Tffz.aclineaddExecute(Sender: TObject);
var
sw,sii:string;
ii:integer;
begin
  inherited;
 for ii:=1 to 12 do
 begin
  sii:='s'+inttostr(ii);
  sw:='sw'+inttostr(ii);
  CDSsub[sii]:=0;
  if wwdbedit20.Text='' then
    CDSsub[sw]:=0 else
    CDSsub[sw]:=wwdbedit20.Text;
 end;
 CDSsub['qtyunit']:=16;
 CDSsub['per1']:=0;
 CDSsub['fqty']:=0;
 CDSsub['total']:=0;
end;

procedure Tffz.p07Execute(Sender: TObject);
var
  frname:string;
begin
  inherited;
  frname:=gs_appPath+'\Prints\frlm.frf';
  cdssub.DisableControls;
  frMD.LoadFromFile(frname);
  frMD.ShowReport;
  cdssub.EnableControls;
end;

procedure Tffz.acaddExecute(Sender: TObject);
begin
  inherited;
   wwDBLookupCombo1.Text:='亿溢';
end;

procedure Tffz.CDSsubBeforePost(DataSet: TDataSet);
var
n,ii:integer;
ss,sw,sii:string;
total:double;
begin
  inherited;
  if cdssub.State in [dsedit,dsinsert] then
  begin
      CdSsub['total']:=CDSsub['s1']+CDSsub['s2']+CDSsub['s3']+CDSsub['s4']+CDSsub['s5']+CDSsub['s6']+
                      CDSsub['s7']+CDSsub['s8']+CDSsub['s9']+CDSsub['s10']+CDSsub['s11']+CDSsub['s12'];
        total:=0;
        for n:=1 to 12 do
         begin
           ss:='s'+inttostr(n);
           sw:='sw'+inttostr(n);
           total:=total+cdssub[ss]*cdssub[sw]/CdSsub['qtyunit']*(1+CDSsub['per1']/100);
         end;
        CDSsub['fqty']  :=total;
  end;      
end;

procedure Tffz.GridKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
 if grid.SelectedIndex=2 then 
 if  char(key)='p' then 
 if cdssub.State in [dsedit,dsinsert] then
  Selectsub;
end;

procedure Tffz.CDSsubAfterInsert(DataSet: TDataSet);
var
sw,sii:string;
ii:integer;
begin
  inherited;
 for ii:=1 to 12 do
 begin
  sii:='s'+inttostr(ii);
  sw:='sw'+inttostr(ii);
  CDSsub[sii]:=0;
  if wwdbedit20.Text='' then
    CDSsub[sw]:=0 else
    CDSsub[sw]:=wwdbedit20.Text;
 end;
 CDSsub['qtyunit']:=16;
 CDSsub['per1']:=0;
 CDSsub['fqty']:=0;
 CDSsub['total']:=0;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -