?? 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 + -