📄 uchangedata.pas
字号:
unit uchangedata;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Buttons, Grids, DBGrids, DB, DBTables,
ExtCtrls, DBCtrls;
type
Tfmchangedata = class(TForm)
GroupBox1: TGroupBox;
RadioGroup1: TRadioGroup;
GroupBox2: TGroupBox;
CheckBox1: TCheckBox;
CheckBox3: TCheckBox;
DataSource1: TDataSource;
Table1: TTable;
Table2: TTable;
DBGrid1: TDBGrid;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
CheckBox2: TCheckBox;
DateTimePicker1: TDateTimePicker;
Query1: TQuery;
DBLookupComboBox1: TDBLookupComboBox;
DataSource2: TDataSource;
DBLookupComboBox2: TDBLookupComboBox;
Query2: TQuery;
DataSource3: TDataSource;
Table1Ddate: TStringField;
Table1Atnum: TStringField;
Table1Agname: TStringField;
Table1Adime: TStringField;
Table1Ncoil: TFloatField;
Table1Nton: TFloatField;
Table1Atname: TStringField;
Table1Aqd: TStringField;
Table1Aspot: TStringField;
Table1Agoodd: TStringField;
Table1Auser: TStringField;
Table1Abz: TStringField;
Table2Ddate: TStringField;
Table2Atnum: TStringField;
Table2Agname: TStringField;
Table2Adime: TStringField;
Table2Ncoil: TFloatField;
Table2Nton: TFloatField;
Table2Atname: TStringField;
Table2Aqd: TStringField;
Table2Aspot: TStringField;
Table2Agoodd: TStringField;
Table2Auser: TStringField;
Table2Adir: TStringField;
Table2Abz: TStringField;
GroupBox3: TGroupBox;
Query3: TQuery;
Query4: TQuery;
Table3: TTable;
Query5: TQuery;
Table1Npiece: TFloatField;
Table2Npiece: TFloatField;
Panel1: TPanel;
Label1: TLabel;
Table1Ahw: TStringField;
Table2Ahw: TStringField;
Query6: TQuery;
procedure FormCreate(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure CheckBox3Click(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
procedure RadioGroup1Enter(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmchangedata: Tfmchangedata;
implementation
uses ulogin;
{$R *.dfm}
procedure Tfmchangedata.FormCreate(Sender: TObject);
begin
application.OnMessage:=fmlogin.doenterastab;
datetimepicker1.Date:=now;
datetimepicker1.Visible:=false;
dblookupcombobox2.Visible:=false;
dblookupcombobox1.Visible:=false;
//dblookupcombobox2.text:='';
//dblookupcombobox1.text:='';
end;
procedure Tfmchangedata.CheckBox1Click(Sender: TObject);
begin
if checkbox1.Checked then datetimepicker1.Visible:=true
else datetimepicker1.Visible:=false;
radiogroup1.ItemIndex:=-1;
end;
procedure Tfmchangedata.CheckBox2Click(Sender: TObject);
begin
if checkbox2.Checked then
dblookupcombobox2.Visible:=true
else
begin
dblookupcombobox2.Visible:=false;
//dblookupcombobox2.text:='';
end;
radiogroup1.ItemIndex:=-1;
end;
procedure Tfmchangedata.CheckBox3Click(Sender: TObject);
begin
if checkbox3.Checked then dblookupcombobox1.Visible:=true
else
begin
dblookupcombobox1.Visible:=false;
//dblookupcombobox1.text:='';
end;
radiogroup1.ItemIndex:=-1;
end;
procedure Tfmchangedata.RadioGroup1Click(Sender: TObject);
var fstr:string;
begin
fstr:='';
if checkbox1.Checked then
begin
fstr:='ddate='''+formatdatetime('yyyy-mm-dd',datetimepicker1.Date)+'''';
if (checkbox2.Checked) and (dblookupcombobox2.Text<>'') then fstr:=fstr+' and agoodd='''+trim(dblookupcombobox2.Text)+'''';
if (checkbox3.Checked) and (dblookupcombobox1.Text<>'') then fstr:=fstr+' and agname='''+trim(dblookupcombobox1.Text)+'''';
end
else
begin
if (checkbox2.Checked) and (dblookupcombobox2.Text<>'') then
begin
fstr:=fstr+'agoodd='''+trim(dblookupcombobox2.Text)+'''';
if (checkbox3.Checked) and (dblookupcombobox1.Text<>'') then fstr:=fstr+' and agname='''+trim(dblookupcombobox1.Text)+'''';
end
else
if (checkbox3.Checked) and (dblookupcombobox1.Text<>'') then fstr:=fstr+'agname='''+trim(dblookupcombobox1.Text)+'''';
end;
//fstr:=fstr+')';
case radiogroup1.ItemIndex of
0: begin
datasource2.DataSet:=table1;
table1.Filter:=fstr;
table1.Filtered:=true;
table1.Open;
end;
1:
begin
datasource2.DataSet:=table2;
table2.Filter:=fstr;
table2.Filtered:=true;
table2.Open;
end;
end;
end;
procedure Tfmchangedata.RadioGroup1Enter(Sender: TObject);
begin
if (checkbox1.Checked=false) and (dblookupcombobox2.text='') and (dblookupcombobox1.text='') then
begin
showmessage('修改过滤选项不能为空!');
checkbox1.SetFocus;
end;
end;
procedure Tfmchangedata.BitBtn1Click(Sender: TObject);
begin
if datasource2.DataSet.RecordCount>0 then
begin
if messagebox(0,'确认删除本记录吗?','系统提示',mb_yesno)=idyes then
datasource2.DataSet.Delete;
end
else
showmessage('库中没有记录!不能做删除操作!');
end;
procedure Tfmchangedata.BitBtn2Click(Sender: TObject);
var i:integer;
// oldcoil,oldpiece:integer;
// oldton:single;
begin
table1.Edit;
table1.Post;
table2.Edit;
table2.Post;
query3.Close;
query3.SQL.clear;
query3.SQL.add('select atnum,agname,adime,agoodd,aspot,ahw,sum(ncoil) as ncoil,sum(npiece) as npiece,sum(nton) as nton from mimport group by atnum,agname,adime,agoodd,aspot,ahw');
query3.ExecSQL;
query3.Open;
query4.Close;
query4.SQL.clear;
query4.SQL.add('select atnum,agname,adime,agoodd,aspot,ahw,sum(ncoil) as ncoil,sum(npiece) as npiece,sum(nton) as nton from mexport group by atnum,agname,adime,agoodd,aspot,ahw');
query4.ExecSQL;
query4.Open;
table3.Close;
table3.EmptyTable;
table3.Active:=true;
query3.First;
for i:=1 to query3.RecordCount do
begin
query6.Locate('atnum;agname;adime;agoodd',vararrayof([query3.FieldValues['atnum'],query3.FieldValues['agname'],query3.FieldValues['adime'],query3.FieldValues['agoodd']]),[]);
table3.Append;
table3.FieldValues['atnum']:=query3.FieldValues['atnum'];
table3.FieldValues['agname']:=query3.FieldValues['agname'];
table3.FieldValues['adime']:=query3.FieldValues['adime'];
table3.FieldValues['agoodd']:=query3.FieldValues['agoodd'];
table3.FieldValues['aspot']:=query3.FieldValues['aspot'];
table3.FieldValues['ahw']:=query3.FieldValues['ahw'];
table3.FieldValues['ncoil']:=query3.FieldValues['ncoil'];
table3.FieldValues['npiece']:=query3.FieldValues['npiece'];
table3.FieldValues['nton']:=query3.FieldValues['nton'];
table3.FieldValues['nplanton']:=query6.FieldValues['nton'];
query3.Next;
end;
table3.Edit;
table3.Post;
table3.Active:=true;
table3.First;
for i:=1 to table3.RecordCount do
begin
if query4.Locate('atnum;agname;adime;agoodd;aspot;ahw',vararrayof([table3.FieldValues['atnum'],table3.FieldValues['agname'],table3.FieldValues['adime'],table3.FieldValues['agoodd'],table3.FieldValues['aspot'],table3.FieldValues['ahw']]),[])=true
then
begin
table3.Edit;
table3.FieldValues['ncoil']:=table3.FieldValues['ncoil']-query4.FieldValues['ncoil'];
table3.FieldValues['npiece']:=table3.FieldValues['npiece']-query4.FieldValues['npiece'];
table3.FieldValues['nton']:=table3.fieldValues['nton']-query4.FieldValues['nton'];
table3.Post;
//if table3.FieldValues['ncoil']<query4.FieldValues['ncoil'] then
//showmessage('你修改进货件数小于出货件数!请核实!!');
end;
table3.Next;
end;
table3.First;
for i:=1 to table3.RecordCount do
begin
if table3.FieldValues['ncoil']=0 then
table3.Delete;
table3.Next;
end;
table2.Active:=true;
table2.First;
for i:=1 to table2.RecordCount do
begin
if query5.Locate('atnum;agname;adime;agoodd;aspot;ahw',vararrayof([table2.FieldValues['atnum'],table2.FieldValues['agname'],table3.FieldValues['adime'],table2.FieldValues['agoodd'],table2.FieldValues['aspot'],table2.FieldValues['ahw']]),[])=true
then if query5.FieldValues['ncoil']>table2.FieldValues['ncoil'] then
begin
query6.Locate('atnum;agname;adime;agoodd',vararrayof([query5.FieldValues['atnum'],query5.FieldValues['agname'],query5.FieldValues['adime'],query5.FieldValues['agoodd']]),[]);
table3.Append;
table3.FieldValues['atnum']:=query5.FieldValues['atnum'];
table3.FieldValues['agname']:=query5.FieldValues['agname'];
table3.FieldValues['adime']:=query5.FieldValues['adime'];
table3.FieldValues['agoodd']:=query5.FieldValues['agoodd'];
table3.FieldValues['aspot']:=query5.FieldValues['aspot'];
table3.FieldValues['ahw']:=query5.FieldValues['ahw'];
table3.FieldValues['ncoil']:=query5.FieldValues['ncoil']-table2.FieldValues['ncoil'];
table3.FieldValues['npiece']:=query5.FieldValues['npiece']-table2.FieldValues['npiece'];
table3.FieldValues['nton']:=query5.FieldValues['nton']-table2.FieldValues['nton'];
table3.FieldValues['nplanton']:=query6.FieldValues['nton'];
end;
table2.Next;
end;
end;
procedure Tfmchangedata.BitBtn3Click(Sender: TObject);
begin
fmchangedata.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -