pdgx1.pas
来自「思微POS连锁超市管理系统 (商业代码),几年前的东西了」· PAS 代码 · 共 115 行
PAS
115 行
unit pdgx1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, StdCtrls, Buttons, EHGrids, DBGridEh, ComCtrls, ExtCtrls,
ADODB;
type
Tpdgx = class(TForm)
Bevel1: TBevel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label1: TLabel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Query1: TADOQuery;
Query3: TADOQuery;
Query2: TADOQuery;
ProgressBar1: TProgressBar;
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
pdgx: Tpdgx;
implementation
uses MainForm1;
{$R *.DFM}
procedure Tpdgx.FormActivate(Sender: TObject);
begin
Query1.close;
Query1.sql.Clear;
Query1.sql.add('select count(*) from pdzcb');
Query1.open;
if Query1.Fields[0].asinteger = 0 then
begin
Application.MessageBox('还没有建立盘点清单,不能进行此操作.', '提示', mb_ok + MB_ICONWARNING); close;
end;
end;
procedure Tpdgx.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := cafree;
end;
procedure Tpdgx.BitBtn1Click(Sender: TObject);
begin
if Application.MessageBox('现在就进行盘点更新吗?', '提示', MB_YESNO + MB_ICONQUESTION) = IDYES then
begin
Query1.close;
Query1.sql.clear;
Query1.sql.add('delete from pdykb');
Query1.ExecSQL;
Query1.close;
Query1.sql.clear;
Query1.sql.add('select * from pdzcb');
Query1.open;
ProgressBar1.Max := Query1.RecordCount;
while not Query1.Eof do
begin
ProgressBar1.Position := ProgressBar1.Position + 1;
Query2.close;
Query2.sql.clear;
Query2.sql.add('select kcsl from pdgx_v where spcode=:code and ckcode=:ck');
Query2.Parameters[0].Value := Query1.fieldbyname('spcode').asstring;
Query2.Parameters[1].Value := Query1.fieldbyname('ckcode').asstring;
Query2.open;
Query3.close;
Query3.sql.clear;
Query3.sql.add('insert into pdykb(spcode,zcsl,spsl,yksl,ckcode)');
Query3.sql.add('values (:spcode,:zcsl,:spsl,:yksl,:ckcode)');
Query3.Parameters[0].Value := Query1.fieldbyname('spcode').asstring;
Query3.Parameters[1].Value := Query1.fieldbyname('sl').asfloat;
Query3.Parameters[2].Value := Query2.fields[0].asfloat;
Query3.Parameters[3].Value := Query2.fields[0].asfloat - Query1.fieldbyname('sl').asfloat;
Query3.Parameters[4].Value := Query1.fieldbyname('ckcode').asstring;
Query3.ExecSQL;
if (query2.fields[0].IsNull) and (RadioButton2.Checked = true) then
begin
Query1.Next;
continue;
end;
Query3.close;
Query3.sql.clear;
Query3.sql.add('update spkcda set kcsl=(:kcsl)+kcsl where spcode=:spcode and ckcode=:ck');
Query3.Parameters[1].Value := Query1.fieldbyname('spcode').asstring;
Query3.Parameters[2].Value := Query1.fieldbyname('ckcode').asstring;
Query3.Parameters[0].Value := Query2.fields[0].asfloat - Query1.fieldbyname('sl').asfloat;
Query3.ExecSQL;
Query1.Next;
end;
Application.MessageBox('盘点更新成功', '提示', MB_OK + MB_ICONASTERISK);
close;
end;
end;
procedure Tpdgx.BitBtn2Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?