📄 inut.~pas
字号:
unit inut;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons, DB, ADODB, ComCtrls;
type
Tinfm = class(TForm)
inpl: TPanel;
Label15: TLabel;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
clmcbox: TComboBox;
clbhedit: TEdit;
clplbox: TComboBox;
sledit: TEdit;
dwbox: TComboBox;
zjeedit: TEdit;
jhdwbox: TComboBox;
GroupBox2: TGroupBox;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
jhrbox: TComboBox;
jsrbox: TComboBox;
hwedit: TEdit;
bgybox: TComboBox;
djbhedit: TEdit;
GroupBox3: TGroupBox;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
ADOQuery: TADOQuery;
Label16: TLabel;
jyybox: TComboBox;
Label17: TLabel;
jhrqbox: TDateTimePicker;
rkrqbox: TDateTimePicker;
procedure SpeedButton5Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure clmcboxChange(Sender: TObject);
procedure dwboxChange(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure jyyboxKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure djbheditKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
price:integer;
{ Private declarations }
public
{ Public declarations }
end;
var
infm: Tinfm;
implementation
uses mainut, rudut;
{$R *.dfm}
procedure Tinfm.SpeedButton5Click(Sender: TObject);
begin
close;
end;
procedure Tinfm.FormCreate(Sender: TObject);
var
mypath:string;
begin mypath:=extractfilepath(paramstr(0));
ADOquery.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+mypath+'data\kcgl.mdb;Persist Security Info=False';
ADOquery.active:=true;
with adoquery do
begin
close;
sql.Clear;
sql.Add('select * from bhb');
open;
first;
while not eof do
begin
clmcbox.Items.Add(fieldbyname('名称').AsString);
next;
end;
end;
with adoquery do
begin
close;
sql.Clear;
sql.Add('select * from gzyb');
open;
first;
while not eof do
begin
if fieldbyname('职务').AsString='采购员' then
jhrbox.Items.Add(fieldbyname('姓名').AsString);
if fieldbyname('职务').AsString='库管' then
bgybox.Items.Add(fieldbyname('姓名').AsString);
if fieldbyname('职务').AsString='检验员' then
jyybox.Items.Add(fieldbyname('姓名').AsString);
next;
end;
end;
jsrbox.Text:=mainfm.username;
end;
procedure Tinfm.SpeedButton1Click(Sender: TObject);
var
str:string;
sl,je:integer;
begin
if (clmcbox.Text='') or (sledit.Text='') or (zjeedit.Text='') or (djbhedit.Text='') then
begin
showmessage('请输入完整信息!');
exit;
end;
try
with adoquery do
begin
close;
sql.Clear;
str:='insert into rkb (材料名称,材料编号,品类,数量,单位,总金额,进货单位';
str:=str+',进货人,进货日期,经手人,入库日期,货位,保管人,单据编号,检验人)';
str:=str+' values(:clmc,:clbh,:pl,:sl,:dw,:zje,:jhdw,:jhr,:jhrq,:jsr,:rkrq,:hw,:bgy,:djbh,:jyr)';
sql.Add(str);
Parameters.ParamByName('clmc').Value:=trim(clmcbox.Text);
Parameters.ParamByName('clbh').Value:=trim(clbhedit.Text);
Parameters.ParamByName('pl').Value:=trim(clplbox.Text);
Parameters.ParamByName('sl').Value:=trim(sledit.Text);
Parameters.ParamByName('dw').Value:=trim(dwbox.Text);
Parameters.ParamByName('zje').Value:=trim(zjeedit.Text);
Parameters.ParamByName('jhdw').Value:=trim(jhdwbox.Text);
Parameters.ParamByName('jhr').Value:=trim(jhrbox.Text);
Parameters.ParamByName('jhrq').Value:=datetostr(jhrqbox.date);
Parameters.ParamByName('jsr').Value:=trim(jsrbox.Text);
Parameters.ParamByName('rkrq').Value:=datetostr(rkrqbox.date);
Parameters.ParamByName('hw').Value:=trim(hwedit.Text);
Parameters.ParamByName('bgy').Value:=trim(bgybox.Text);
Parameters.ParamByName('djbh').Value:=trim(djbhedit.Text);
Parameters.ParamByName('jyr').Value:=trim(jyybox.Text);
execsql;
end;
//adoquery.Close;
with adoquery do
begin
close;
sql.Clear;
sql.Add('select * from kcb where 编号=:bh');
Parameters.ParamByName('bh').Value:=trim(clbhedit.Text);
open;
if recordcount>0 then
begin
sl:=fieldbyname('数量').AsInteger+strtoint(sledit.text);
je:=fieldbyname('总金额').AsInteger+strtoint(sledit.text)*price;
close;
sql.Clear;
sql.Add('update kcb set 数量=:sl,总金额=:je where 编号=:bh');
Parameters.ParamByName('bh').Value:=trim(clbhedit.Text);
Parameters.ParamByName('sl').Value:=sl;
Parameters.ParamByName('je').Value:=je;
execsql;
end
else
begin
with adoquery do
begin
close;
sql.Clear;
str:='insert into kcb (名称,编号,品类,数量,单位,总金额,货位)';
str:=str+' values(:mc,:bh,:pl,:sl,:dw,:zje,:hw)';
sql.Add(str);
Parameters.ParamByName('mc').Value:=trim(clmcbox.Text);
Parameters.ParamByName('bh').Value:=trim(clbhedit.Text);
Parameters.ParamByName('pl').Value:=trim(clplbox.Text);
Parameters.ParamByName('sl').Value:=trim(sledit.Text);
Parameters.ParamByName('dw').Value:=trim(dwbox.Text);
Parameters.ParamByName('zje').Value:=trim(zjeedit.Text);
Parameters.ParamByName('hw').Value:=trim(hwedit.Text);
execsql;
end;
end;
showmessage('入库成功!');
end;
except
showmessage('入库失败!');
end;
clbhedit.Clear;
clplbox.Clear;
sledit.Clear;
zjeedit.Clear;
jhdwbox.Clear;
hwedit.Clear;
djbhedit.Clear;
end;
procedure Tinfm.clmcboxChange(Sender: TObject);
begin
jhdwbox.Clear;
with adoquery do
begin
close;
sql.Clear;
sql.Add('select * from bhb where 名称=:mc');
Parameters.ParamByName('mc').Value:=trim(clmcbox.Text);
open;
clbhedit.Text:=fieldbyname('编号').AsString;
clplbox.Text:=fieldbyname('品类').AsString;
price:=fieldbyname('单位价格').AsInteger;
hwedit.Text:=fieldbyname('货位').AsString;
end;
with adoquery do
begin
close;
sql.Clear;
sql.Add('select * from ghdwb where 供货品类=:pl');
Parameters.ParamByName('pl').Value:=trim(clplbox.Text);
open;
first;
while not eof do
begin
jhdwbox.Items.Add(fieldbyname('供货商').AsString);
next;
end;
end;
end;
procedure Tinfm.dwboxChange(Sender: TObject);
begin
if sledit.Text='' then
begin
showmessage('请输入数量!');
exit;
end;
zjeedit.Text:=inttostr(price*strtoint(sledit.Text));
end;
procedure Tinfm.SpeedButton2Click(Sender: TObject);
begin
clbhedit.Clear;
clplbox.Clear;
sledit.Clear;
zjeedit.Clear;
jhdwbox.Clear;
hwedit.Clear;
djbhedit.Clear;
end;
procedure Tinfm.SpeedButton4Click(Sender: TObject);
begin
print;
end;
procedure Tinfm.jyyboxKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
SpeedButton1.Click;
end;
procedure Tinfm.djbheditKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
SpeedButton1.Click;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -