📄 frminputsellbill.pas
字号:
unit FrmInputSellBill;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ADODB, StdCtrls, DB, ExtCtrls;
type
TFormInputSellBill = class(TForm)
Label2: TLabel;
Label3: TLabel;
Shape1: TShape;
EditTime: TEdit;
BtnNew: TButton;
BtnInput: TButton;
BtnOK: TButton;
EditNote: TEdit;
DataSet: TADODataSet;
CBCommodity: TComboBox;
Label1: TLabel;
CBDepot: TComboBox;
Label6: TLabel;
CBCustomer: TComboBox;
Label7: TLabel;
CBPayment: TComboBox;
Label8: TLabel;
Label9: TLabel;
Shape2: TShape;
CmdInputSellBill: TADOCommand;
EditSysUser: TEdit;
EditAmount: TEdit;
Label4: TLabel;
procedure FormShow(Sender: TObject);
procedure BtnInputClick(Sender: TObject);
procedure BtnNewClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormInputSellBill: TFormInputSellBill;
implementation
{$R *.dfm}
procedure TFormInputSellBill.FormShow(Sender: TObject);
var
DateTime : TDateTime;
i, Min, Max:integer;
item: string;
begin
DateTime := Date;
EditTime.Text := DateToStr(DateTime);
DateTime := Time;
EditTime.Text := EditTime.Text + ' ' + TimeToStr(DateTime);
CBCommodity.Clear;
DataSet.Active := False;
DataSet.CommandText := 'select name from Commodity';
DataSet.Active := True;
Min := 0;
Max := DataSet.RecordCount;
DataSet.First;
for i := Min to (Max-1) do
begin
item := DataSet.FieldByName('name').AsString;
CBCommodity.Items.Add(item);
DataSet.Next;
end;
CBDepot.Clear;
DataSet.Active := False;
DataSet.CommandText := 'select name from Depot';
DataSet.Active := True;
Min := 0;
Max := DataSet.RecordCount;
DataSet.First;
for i := Min to (Max-1) do
begin
item := DataSet.FieldByName('name').AsString;
CBDepot.Items.Add(item);
DataSet.Next;
end;
CBCustomer.Clear;
DataSet.Active := False;
DataSet.CommandText := 'select name from Customer';
DataSet.Active := True;
Min := 0;
Max := DataSet.RecordCount;
DataSet.First;
for i := Min to (Max-1) do
begin
item := DataSet.FieldByName('name').AsString;
CBCustomer.Items.Add(item);
DataSet.Next;
end;
CBPayment.Clear;
DataSet.Active := False;
DataSet.CommandText := 'select name from Payment';
DataSet.Active := True;
Min := 0;
Max := DataSet.RecordCount;
DataSet.First;
for i := Min to (Max-1) do
begin
item := DataSet.FieldByName('name').AsString;
CBPayment.Items.Add(item);
DataSet.Next;
end;
end;
procedure TFormInputSellBill.BtnInputClick(Sender: TObject);
var
CommodityID, SysUserID, DepotID, CustomerID, PaymentID: string;
Amount: Integer;
begin
DataSet.Active := false;
DataSet.CommandText := 'select id from Commodity where name = ''' + CBCommodity.Text + '''';
DataSet.Active := true;
if not(DataSet.IsEmpty) then
begin
CommodityID := DataSet.FieldByName('id').AsString;
end
else
begin
Application.MessageBox('无效的商品名称!', '错误', MB_OK);
Exit;
end;
DataSet.Active := false;
DataSet.CommandText := 'select id from SysUser where name = ''' + EditSysUser.Text + '''';
DataSet.Active := true;
if not(DataSet.IsEmpty) then
begin
SysUserID := DataSet.FieldByName('id').AsString;
end
else
begin
Application.MessageBox('无效的用户名称!', '错误', MB_OK);
Exit;
end;
DataSet.Active := false;
DataSet.CommandText := 'select id from Depot where name = ''' + CBDepot.Text + '''';
DataSet.Active := true;
if not(DataSet.IsEmpty) then
begin
DepotID := DataSet.FieldByName('id').AsString;
end
else
begin
Application.MessageBox('无效的仓库名称!', '错误', MB_OK);
Exit;
end;
DataSet.Active := false;
DataSet.CommandText := 'select id from Customer where name = ''' + CBCustomer.Text + '''';
DataSet.Active := true;
if not(DataSet.IsEmpty) then
begin
CustomerID := DataSet.FieldByName('id').AsString;
end
else
begin
Application.MessageBox('无效的客户名称!', '错误', MB_OK);
Exit;
end;
DataSet.Active := false;
DataSet.CommandText := 'select id from Payment where name = ''' + CBPayment.Text + '''';
DataSet.Active := true;
if not(DataSet.IsEmpty) then
begin
PaymentID := DataSet.FieldByName('id').AsString;
end
else
begin
Application.MessageBox('无效的付款方式名称!', '错误', MB_OK);
Exit;
end;
Amount := StrToInt(EditAmount.Text);
if (Amount <= 0) then
begin
Application.MessageBox('进货数量不能为负!', '错误', MB_OK);
Exit;
end;
CmdInputSellBill.CommandText :=
'INSERT INTO SellBill Values('''
+ EditTime.Text
+ ''','''
+ CommodityID
+ ''','''
+ IntToStr(Amount)
+ ''','''
+ SysUserID
+ ''','''
+ DepotID
+ ''','''
+ CustomerID
+ ''','''
+ PaymentID
+ ''','''
+ EditNote.Text
+ ''','
+ '0'
+ ')';
try
CmdInputSellBill.Execute;
except
ShowMessage('录入失败,请正确输入!');
exit;
end;
ShowMessage('录入成功!');
BtnNewClick(sender);
end;
procedure TFormInputSellBill.BtnNewClick(Sender: TObject);
var
DateTime: TDateTime;
begin
DateTime := Date;
EditTime.Text := DateToStr(DateTime);
DateTime := Time;
EditTime.Text := EditTime.Text + ' ' + TimeToStr(DateTime);
CBCommodity.Text := '';
CBDepot.Text := '';
CBCustomer.Text := '';
CBPayment.Text := '';
EditNote.Text := '';
EditAmount.Text := '';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -