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

📄 upurchase.~pas

📁 在打沙场用的最简单
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
  //inherited;
  CDSsub.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 := 5;
      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;
      CDSsub.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] := '年/月/日';

        excelid.columns[5].ColumnWidth := Grid.Columns[4].Width / 8;
        excelid.columns[5].NumberFormatLocal := '@';
        mybook.worksheets[1].cells.item[row, 5] := '时/分/秒';

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

          mybook.worksheets[1].cells.item[row, 1] :=i;
          mybook.worksheets[1].cells.item[row, 2] := CDSsub['fcode'];
          mybook.worksheets[1].cells.item[row, 3] := CDSsub['fqty'];
          mybook.worksheets[1].cells.item[row, 4] := CDSsub['sdate'];
          mybook.worksheets[1].cells.item[row, 5] := CDSsub['stime'];
          i:=i+1 ;  

          row := row + 1;
          CDSsub.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(CDssub.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;
  CDSsub.EnableControls;  
end;

procedure Tfrmpurchase.BitBtn2Click(Sender: TObject);
var
  excelid, mybook: variant;
  row, col, i, j, colcount, frow: integer;
  excelflg: boolean;
  rpstr: string;
  per_count,  datasum, dsum1, dsum2: integer;
  datas1, datas2, datas3: string;
begin
  with adoquery3 do
  begin
   sql.clear;
   sql.add('  select fname,fcode,sum(fqty) fqty from Tpurchasesub a,titem b,tpurchase c');
   sql.add('  where a.fitemid=b.fid and a.fresid=c.fresid');
   if wwDBDateTimePicker2.Text<>'' then
   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 Tfrmpurchase.GridColExit(Sender: TObject);
begin
  inherited;
    case grid.SelectedIndex of
  6,7:begin
  if  CDSsub.State in [dsEdit,dsinsert] then
  begin
 // if grid.SelectedIndex=6 then
//     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['fqty'] :=CDSsub['js']*CDSsub['avgh']/CDSsub['qtyunit']*(1+CDSsub['rs']+CDSsub['dps']+CDSsub['zz']);
     //  grid.SelectedIndex:=11;
       end else
       begin
        MessageDlg('没找到相应的资料 ? ',mtWarning,[MBOK],0);
       end;
   end;
   end;
  end;
end;

procedure Tfrmpurchase.aclineaddExecute(Sender: TObject);
begin
  inherited;
       CDSsub['avgh']:=1;
       CDSsub['qtyunit']:=16;
       CDSsub['rs']:=0;
       CDSsub['dps']:=0;
       CDSsub['zz']:=0;
end;

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

procedure Tfrmpurchase.CDSsubBeforePost(DataSet: TDataSet);
begin
  inherited;
 if cdssub.State in [dsedit,dsinsert] then     
       CDSsub['fqty'] :=CDSsub['js']*CDSsub['avgh']/CDSsub['qtyunit']*(1+CDSsub['rs']+CDSsub['dps']+CDSsub['zz']);
end;

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

procedure Tfrmpurchase.CDSsubAfterInsert(DataSet: TDataSet);
begin
  inherited;
   CDSsub['avgh']:=1;
              CDSsub['qtyunit']:=16;
              CDSsub['rs']:=0;
              CDSsub['dps']:=0;
              CDSsub['zz']:=0;
end;

end.

⌨️ 快捷键说明

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