📄 bm_priu_addu.pas
字号:
unit BM_PRIU_ADDU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TBM_PRIF_ADDF = class(TForm)
Panel2: TPanel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
CB1: TComboBox;
CB2: TComboBox;
Label2: TLabel;
Label3: TLabel;
CB3: TComboBox;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Panel1: TPanel;
Label7: TLabel;
Memo1: TMemo;
SpeedButton10: TSpeedButton;
SpeedButton1: TSpeedButton;
Label8: TLabel;
CB4: TComboBox;
Label9: TLabel;
Edit4: TEdit;
Edit5: TEdit;
procedure CB1DropDown(Sender: TObject);
procedure CB2DropDown(Sender: TObject);
procedure CB1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure CB2KeyPress(Sender: TObject; var Key: Char);
procedure CB3KeyPress(Sender: TObject; var Key: Char);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Memo1KeyPress(Sender: TObject; var Key: Char);
procedure CB3DropDown(Sender: TObject);
procedure CB2Exit(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure Edit1DblClick(Sender: TObject);
procedure CB3Exit(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton10Click(Sender: TObject);
procedure CB4DropDown(Sender: TObject);
procedure CB1Click(Sender: TObject);
procedure CB4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
BM_PRIF_ADDF: TBM_PRIF_ADDF;
implementation
uses BM_DMU, BM_PRIU;
{$R *.dfm}
procedure TBM_PRIF_ADDF.CB1DropDown(Sender: TObject);
var i:integer;
begin
CB1.Items.Clear ;
cb4.Items.Clear ;
WITH DM.QALL do
begin
close;
sql.Clear ;
sql.Add('select distinct 型号 from 打印纸');
open;
first;
end;
for i:=0 to DM.QALL.RecordCount-1 do
begin
CB1.Items.Add(DM.QALL.Fields[0].asstring);
DM.QALL.next;
end;
end;
procedure TBM_PRIF_ADDF.CB2DropDown(Sender: TObject);
var i:integer;
begin
CB2.Items.Clear ;
CB3.Items.Clear ;
WITH DM.QALL do
begin
close;
sql.Clear ;
sql.Add('select DISTINCT 部门名称 from 部门');
open;
first;
end;
for i:=0 to DM.QALL.RecordCount-1 do
begin
CB2.Items.Add(DM.QALL.Fields[0].asstring);
DM.QALL.next;
end;
end;
procedure TBM_PRIF_ADDF.CB1KeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN PERFORM(WM_NEXTDLGCTL,0,0);
end;
procedure TBM_PRIF_ADDF.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [chr(8),'0','1','2','3','4','5','6','7','8','9']) then key:=#0;
IF KEY=#13 THEN PERFORM(WM_NEXTDLGCTL,0,0);
end;
procedure TBM_PRIF_ADDF.CB2KeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN PERFORM(WM_NEXTDLGCTL,0,0);
end;
procedure TBM_PRIF_ADDF.CB3KeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN PERFORM(WM_NEXTDLGCTL,0,0);
end;
procedure TBM_PRIF_ADDF.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN PERFORM(WM_NEXTDLGCTL,0,0);
end;
procedure TBM_PRIF_ADDF.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN PERFORM(WM_NEXTDLGCTL,0,0);
end;
procedure TBM_PRIF_ADDF.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN PERFORM(WM_NEXTDLGCTL,0,0);
end;
procedure TBM_PRIF_ADDF.CB3DropDown(Sender: TObject);
var i:integer;
sql2:string;
begin
CB3.Items.Clear ;
sql2:='select A.部门名称,A.部门编码,B.职工姓名,B.部门编码 from 部门 A,职工 B where ';
sql2:=sql2+'A.部门名称="'+CB2.Text +'"'+' and A.部门编码=B.部门编码';
WITH DM.QALL do
begin
close;
sql.Clear ;
sql.Add(sql2);
open;
first;
end;
for i:=0 to DM.QALL.RecordCount-1 do
begin
CB3.Items.Add(DM.QALL.Fields[2].asstring);
DM.QALL.next;
end;
cb3.ItemIndex :=0;
end;
procedure TBM_PRIF_ADDF.CB2Exit(Sender: TObject);
begin
CB3DropDown(Sender);
cb3.ItemIndex :=0;
end;
procedure TBM_PRIF_ADDF.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure TBM_PRIF_ADDF.Edit1DblClick(Sender: TObject);
begin
edit1.Text :=datetimetostr(date);
end;
procedure TBM_PRIF_ADDF.CB3Exit(Sender: TObject);
begin
edit1.Text :=datetimetostr(date);
end;
procedure TBM_PRIF_ADDF.SpeedButton1Click(Sender: TObject);
var SqlTmp,SqlTmp2:string;
begin
if cb1.Text ='' then
begin
showmessage('请选择打印纸类型!');
exit;
end;
if cb2.Text ='' then
begin
showmessage('请选择支出部门!');
exit;
end;
if cb3.Text ='' then
begin
showmessage('请选择支出人!');
exit;
end;
if cb4.Text ='' then
begin
showmessage('请选择生产厂商!');
exit;
end;
{if edit3.Text ='' then
begin
showmessage('请选择经办人!');
exit;
end; }
{with DM.DAYINZHI do
begin
Close;
open;
if BM_PRIF.canmodify =false then
begin
append;
fieldbyname('型号').AsString :=cb1.Text ;
fieldbyname('支出数量').AsString :=edit2.Text ;
fieldbyname('支出部门').AsString :=cb2.Text ;
fieldbyname('支出人').AsString :=cb3.Text ;
fieldbyname('支出时间').AsString :=edit1.Text ;
fieldbyname('经办人').AsString :=edit3.Text ;
fieldbyname('备注').AsString :=memo1.Text ;
post;
end
else
begin
DM.DAYINZHI.Locate('编号',BM_PRIF.AQ1.FieldByName('编号').AsString,[]);
edit;
fieldbyname('型号').AsString :=cb1.Text ;
fieldbyname('支出数量').AsString :=edit2.Text ;
fieldbyname('支出部门').AsString :=cb2.Text ;
fieldbyname('支出人').AsString :=cb3.Text ;
fieldbyname('支出时间').AsString :=edit1.Text ;
fieldbyname('经办人').AsString :=edit3.Text ;
fieldbyname('备注').AsString :=memo1.Text ;
post;
end;
end;
BM_PRIF.AQ1.Close ;
BM_PRIF.AQ1.Open ; }
if BM_PRIF.canmodify =false then
begin
SqlTmp:='INSERT INTO 打印纸支出(型号,支出数量,支出部门,支出人,支出时间,经办人,备注) ';
SqlTmp:=SqlTmp+'VALUES ("' +cb1.Text +'","';
SqlTmp:=SqlTmp+edit2.Text+'","';
SqlTmp:=SqlTmp+cb2.Text+'","';
SqlTmp:=SqlTmp+cb3.Text+'","';
SqlTmp:=SqlTmp+edit1.Text+'","';
SqlTmp:=SqlTmp+edit3.Text+'","';
SqlTmp:=SqlTmp+memo1.Text+'")';
end
else
begin
SqlTmp:=' UPDATE 打印纸支出 SET ';
SqlTmp:=SqlTmp+ '型号="' + cb1.Text + '",';
SqlTmp:=SqlTmp+ '支出数量="' + edit2.Text + '",';
SqlTmp:=SqlTmp+ '支出部门="' + cb2.Text + '",';
SqlTmp:=SqlTmp+ '支出人="' + cb3.Text + '",';
SqlTmp:=SqlTmp+ '支出时间="' + edit1.Text + '",';
SqlTmp:=SqlTmp+ '经办人="' + edit3.Text + '",';
SqlTmp:=SqlTmp+ '备注="' + memo1.Text + '"';
SqlTmp:=SqlTmp+ ' where 编号='+edit5.Text;
end;
WITH DM.QALL3 do
begin
close;
sql.Clear ;
sql.Add(SqlTmp);
ExecSQL ;
end;
BM_PRIF.AQ1.Close ;
BM_PRIF.AQ1.Open ;
SqlTmp2:=' UPDATE 打印纸 SET ';
SqlTmp2:=SqlTmp2+ '数量='+inttostr(strtoint(edit4.Text)-strtoint(edit2.text));
SqlTmp2:=SqlTmp2+' where 型号="'+cb1.Text +'"';
SqlTmp2:=SqlTmp2+' and 厂商="'+cb4.Text +'"';
WITH DM.QALL2 do
begin
close;
sql.Clear ;
sql.Add(SqlTmp2);
ExecSQL ;
end;
BM_PRIF.SpeedButton8.Enabled :=true;
close;
end;
procedure TBM_PRIF_ADDF.SpeedButton10Click(Sender: TObject);
begin
close;
end;
procedure TBM_PRIF_ADDF.CB4DropDown(Sender: TObject);
var i:integer;
begin
CB4.Items.Clear ;
WITH DM.QALL3 do
begin
close;
sql.Clear ;
sql.Add('select distinct 厂商 from 打印纸');
open;
first;
end;
for i:=0 to DM.QALL3.RecordCount-1 do
begin
CB4.Items.Add(DM.QALL3.Fields[0].asstring);
DM.QALL3.next;
end;
end;
procedure TBM_PRIF_ADDF.CB1Click(Sender: TObject);
begin
WITH DM.QALL3 do
begin
close;
sql.Clear ;
sql.Add('select sum(数量) from 打印纸 where 型号="'+cb1.Text +'"');
open;
if RecordCount > 0 then edit4.Text :=DM.QALL3.Fields[0].asstring;
end;
end;
procedure TBM_PRIF_ADDF.CB4Click(Sender: TObject);
begin
WITH DM.QALL3 do
begin
close;
sql.Clear ;
sql.Add('select 数量 from 打印纸 where 型号="'+cb1.Text +'"'+ ' and 厂商="'+cb4.text+'"');
open;
if RecordCount > 0 then edit4.Text :=DM.QALL3.Fields[0].asstring;
end;
edit2.SetFocus ;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -