📄 unit12.pas
字号:
unit Unit12;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, Grids, DBGrids, ComCtrls, StdCtrls;
type
TForm12 = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
goodsId: TEdit;
Label2: TLabel;
Label3: TLabel;
innum: TEdit;
Label5: TLabel;
inprice: TEdit;
Label7: TLabel;
indate: TDateTimePicker;
Label9: TLabel;
providerid: TEdit;
instorage: TButton;
exit: TButton;
goods: TTable;
storage: TTable;
Query1: TQuery;
DataSource1: TDataSource;
goodsname: TComboBox;
DBGrid1: TDBGrid;
procedure FormCreate(Sender: TObject);
procedure goodsnameSelect(Sender: TObject);
procedure innumExit(Sender: TObject);
procedure inpriceExit(Sender: TObject);
procedure instorageClick(Sender: TObject);
procedure exitClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
procedure refreshDbGrid;
public
{ Public declarations }
end;
var
Form12: TForm12;
implementation
{$R *.dfm}
uses unit38;
procedure TForm12.FormCreate(Sender: TObject);
begin
{初始化时间}
indate.Date:=now;
{初始化物资名称和物资编号以及单位}
with goods do
begin
open;
while not eof do
begin
goodsName.Items.Add(fieldByName('商品名称').AsString);
next;
end;
goodsName.ItemIndex:=0;
first;
goodsId.Text:=fieldByName('商品编号').AsString;
close;
end;//end of with
{初始化其他}
innum.Text:='';
inprice.Text:='';
providerid.Text:='';
end;
procedure TForm12.goodsnameSelect(Sender: TObject);
begin
with goods do
begin
open;
while not eof do
begin
if fieldByName('商品名称').AsString=goodsName.Items[goodsName.ItemIndex] then
begin
goodsId.Text:=fieldByName('商品编号').AsString;
break;
end;
next;
end;
close;
end;
end;
procedure TForm12.innumExit(Sender: TObject);
begin
if (isInteger(innum.Text)=false) and
(innum.Text<>'') then
begin
showMessage('输入的数量有错误!');
activeControl:=innum;
end;
end;
procedure TForm12.inpriceExit(Sender: TObject);
begin
if inprice.Text='' then
begin
showMessage('输入的单价有错误!');
activeControl:=inprice;
end;
end;
procedure Tform12.refreshDbGrid;
begin
with query1 do
begin
close;
sql.Clear;
sql.Add('select goods.商品编号,goods.商品名称,storage.进货单价,storage.供应商编号,storage.入库数量,storage.入库日期 from goods,storage where goods.商品编号=storage.商品编号');
open;
end;
end;
procedure TForm12.instorageClick(Sender: TObject);
begin
{检查入库数量}
if innum.Text='' then
begin
showMessage('请输入入库数量!');
activeControl:=innum;
end;
{修改库存数量}
with goods do
begin
open;
while not eof do
begin
if fieldByName('商品编号').AsString=goodsId.Text then
begin
edit;
fieldValues['库存量']:=strToInt(innum.Text)+fieldByName('库存量').AsInteger;
post;
end;
next;
end;
close;
end;
{插入一条入库记录}
with storage do
begin
open;
insert;
fieldValues['商品编号']:=goodsId.Text;
fieldValues['商品名称']:=goodsname.Text;
fieldValues['供应商编号']:=providerId.Text;
fieldValues['入库数量']:=innum.Text;
fieldValues['入库日期']:=strtodate(DatetoStr(indate.date));
fieldValues['进货单价']:=inprice.Text;
post;
close;
showMessage('入库成功!');
refreshDbGrid;
end;
end;
procedure TForm12.exitClick(Sender: TObject);
begin
close;
end;
procedure TForm12.FormClose(Sender: TObject; var Action: TCloseAction);
begin
self.free;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -