?? hwbs.pas
字號:
unit hwbs;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids, ExtCtrls, StdCtrls, Mask, DBCtrls, Buttons, ComCtrls,
ToolWin, Db, DBTables, Menus;
type
TFrmhwbs = class(TForm)
GroupBox1: TGroupBox;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Panel1: TPanel;
Label1: TLabel;
Label3: TLabel;
ComboBox1: TComboBox;
Edit1: TEdit;
DBGrid2: TDBGrid;
Edit2: TEdit;
Edit3: TEdit;
Memo1: TMemo;
DBGrid1: TDBGrid;
SpeedButton2: TSpeedButton;
SpeedButton1: TSpeedButton;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
DateTimePicker1: TDateTimePicker;
Query_ckxx: TQuery;
Query_bs: TQuery;
DataSource_bs: TDataSource;
Query_kc: TQuery;
DataSource_kc: TDataSource;
Database: TDatabase;
procedure FormCreate(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton2Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frmhwbs: TFrmhwbs;
ck_id:array[0..25] of string; //存倉庫信息表ckxxb中倉庫編號字段的值
table_name:array[0..25] of string;
implementation
uses main;
{$R *.DFM}
procedure TFrmhwbs.FormCreate(Sender: TObject);
var i:integer;
begin
edit1.Clear;
edit2.Clear;
edit3.Clear;
memo1.Clear;
i:=0;
DateTimePicker1.Date:=Frmmain.GetServerTime;
Query_ckxx.close;
Query_ckxx.UnPrepare;
Query_ckxx.sql.Clear;
Query_ckxx.sql.Add('select * from ckxxb');
Query_ckxx.Prepare;
Query_ckxx.open;
while not Query_ckxx.Eof do
begin
combobox1.Items.Add(Query_ckxx.fields[1].asstring);
ck_id[i]:=Query_ckxx.FieldByName('ck_bh').asString;
table_name[i]:=Query_ckxx.fieldbyname('bm').asString;
inc(i);
Query_ckxx.Next;
end;
combobox1.Text:='';
Query_bs.close;
Query_bs.UnPrepare;
Query_bs.sql.Clear;
Query_bs.sql.Add('select * from bsxxb ORDER BY pm,bsrq');
Query_bs.Prepare;
Query_bs.open;
Query_bs.FieldByName('bs_bh').DisplayLabel:='報損編號';
Query_bs.FieldByName('pm').DisplayLabel:='物品名稱';
Query_bs.FieldByName('gg').DisplayLabel:='規格';
Query_bs.FieldByName('dw').DisplayLabel:='單位';
Query_bs.FieldByName('bssl').DisplayLabel:='報損數量';
Query_bs.FieldByName('bsrq').DisplayLabel:='報損日期';
Query_bs.FieldByName('bsr').DisplayLabel:='報損人';
Query_bs.FieldByName('bz').DisplayLabel:='備注';
end;
procedure TFrmhwbs.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','.',#8]) then
key:=#0;
end;
procedure TFrmhwbs.SpeedButton2Click(Sender: TObject);
begin
Self.close;
end;
procedure TFrmhwbs.ComboBox1Change(Sender: TObject);
begin
Query_kc.close;
Query_kc.UnPrepare;
Query_kc.sql.Clear;
if pos('中藥',combobox1.text)>0 then
Query_kc.sql.Add('select pm,cd,dw,gg,ph,kcs,jj,jhrq,jgdw,ck_bh from '+table_name[combobox1.itemindex])
else
Query_kc.sql.Add('select pm,cd,dw,gg,kcs,ph,jj,jhrq,pzwh,sb,ck_bh from '+table_name[combobox1.itemindex]);
Query_kc.sql.Add(' where ck_bh ='''+ ck_id[combobox1.itemIndex]+'''');
Query_kc.sql.Add('ORDER BY pm,jhrq');
Query_kc.Prepare;
Query_kc.open;
Query_kc.FieldByName('ck_bh').DisplayLabel:='倉庫編號';
Query_kc.FieldByName('pm').DisplayLabel:='物品名稱';
Query_kc.FieldByName('gg').DisplayLabel:='規格';
Query_kc.FieldByName('kcs').DisplayLabel:='庫存數';
Query_kc.FieldByName('jhrq').DisplayLabel:='進貨日期';
Query_kc.FieldByName('dw').DisplayLabel:='單位';
Query_kc.FieldByName('jj').DisplayLabel:='進價';
Query_kc.FieldByName('ph').DisplayLabel:='批號';
if pos('中藥',combobox1.text)>0 then
Query_kc.FieldByName('jgdw').DisplayLabel:='加工單位'
else
begin
Query_kc.FieldByName('sb').DisplayLabel:='商標';
Query_kc.FieldByName('pzwh').DisplayLabel:='批準文號';
end;
Query_kc.FieldByName('cd').DisplayLabel:='產地';
end;
procedure TFrmhwbs.BitBtn2Click(Sender: TObject);
begin
if Frmmain.right='00' then
if (not Query_bs.Eof) or (not Query_bs.Bof) then
if Application.MessageBox('確認要刪除該記錄嗎?','詢問', MB_OKCANCEL+MB_ICONQUESTION)=IDok then
Query_bs.Delete;
end;
procedure TFrmhwbs.BitBtn1Click(Sender: TObject);
begin
if (not Query_kc.Eof) or (not Query_kc.Bof) then
if (combobox1.Text='') or (edit2.Text='') or (memo1.Text='')then
Application.MessageBox('請將信息填寫完整','提示', MB_OK+MB_ICONINFORMATION)
else
if strtoint(edit2.text)>Query_kc.FieldByName('kcs').asinteger then
begin
Application.MessageBox('報損數大于庫存數','提示', MB_OK+MB_ICONINFORMATION);
exit;
end
else
begin
Query_bs.Append;
Query_bs.FieldByName('bs_bh').asstring:=formatdatetime('yyyymmddhhmmss',Frmmain.GetServerTime);
Query_bs.FieldByName('pm').asstring:=Query_kc.FieldByName('pm').asstring;
Query_bs.FieldByName('gg').asstring:=Query_kc.FieldByName('gg').asstring;
Query_bs.FieldByName('dw').asstring:=Query_kc.FieldByName('dw').asstring;
Query_bs.FieldByName('bssl').asstring:=edit2.text;
Query_bs.FieldByName('bsrq').asstring:=datetostr(DateTimePicker1.Date);
Query_bs.FieldByName('bsr').asstring:=trim(edit3.text);
Query_bs.FieldByName('bz').asstring:=memo1.Text;
try
database.StartTransaction;
Query_kc.Post;
Query_bs.Post;
database.Commit;
except
database.Rollback;
Application.MessageBox('提交出錯','提示', MB_OK+MB_ICONINFORMATION)
end;
edit2.Clear;
edit3.Clear;
memo1.Clear;
Query_bs.FieldByName('bs_bh').DisplayLabel:='報損編號';
Query_bs.FieldByName('pm').DisplayLabel:='物品名稱';
Query_bs.FieldByName('gg').DisplayLabel:='規格';
Query_bs.FieldByName('dw').DisplayLabel:='單位';
Query_bs.FieldByName('bssl').DisplayLabel:='報損數量';
Query_bs.FieldByName('bsrq').DisplayLabel:='報損日期';
Query_bs.FieldByName('bsr').DisplayLabel:='報損人';
Query_bs.FieldByName('bz').DisplayLabel:='備注';
end;
end;
procedure TFrmhwbs.SpeedButton1Click(Sender: TObject);
begin
if combobox1.ItemIndex<0 then exit;
Query_kc.close;
Query_kc.UnPrepare;
Query_kc.sql.Clear;
if pos('中藥',combobox1.text)>0 then
Query_kc.sql.Add('select pm,cd,dw,gg,kcs,ph,jj,jhrq,jgdw,ck_bh from '+table_name[combobox1.itemindex])
else
Query_kc.sql.Add('select pm,cd,dw,gg,kcs,ph,jj,jhrq,pzwh,sb,ck_bh from '+table_name[combobox1.itemindex]);
Query_kc.sql.Add(' where wp_bm like '+''''+edit1.Text+'%'+'''');
Query_kc.sql.Add('ORDER BY pm');
Query_kc.Prepare;
Query_kc.open;
Query_kc.FieldByName('ck_bh').DisplayLabel:='倉庫編號';
Query_kc.FieldByName('pm').DisplayLabel:='物品名稱';
Query_kc.FieldByName('gg').DisplayLabel:='規格';
Query_kc.FieldByName('kcs').DisplayLabel:='庫存數';
Query_kc.FieldByName('jhrq').DisplayLabel:='進貨日期';
Query_kc.FieldByName('dw').DisplayLabel:='單位';
Query_kc.FieldByName('jj').DisplayLabel:='進價';
Query_kc.FieldByName('ph').DisplayLabel:='批號';
if pos('中藥',combobox1.text)>0 then
Query_kc.FieldByName('jgdw').DisplayLabel:='加工單位'
else
begin
Query_kc.FieldByName('sb').DisplayLabel:='商標';
Query_kc.FieldByName('pzwh').DisplayLabel:='批準文號';
end;
Query_kc.FieldByName('cd').DisplayLabel:='產地';
end;
procedure TFrmhwbs.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then speedbutton1click(Self);
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -