addsell.pas
来自「完整的delphi书籍源代码,大家有空的时候自己慢慢看看」· PAS 代码 · 共 227 行
PAS
227 行
unit AddSell;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Mask;
type
TAddSellFrm = class(TForm)
Groupbox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
Label3: TLabel;
Label5: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
GroupBox2: TGroupBox;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label6: TLabel;
Memo1: TMemo;
MaskEdit1: TMaskEdit;
Edit6: TEdit;
Edit7: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
ADOTable1: TADOTable;
ADOTable2: TADOTable;
ComboBox1: TComboBox;
procedure FormShow(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ComboBox3Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
AddSellFrm: TAddSellFrm;
implementation
uses Login;
{$R *.dfm}
procedure TAddSellFrm.FormCreate(Sender: TObject);
begin
ADOtable1.first;
while not ADOtable1.eof do
begin
combobox1.items.insert(-1,ADOtable1.fieldbyname('CustomerID').asstring);
ADOtable1.Next;
end;
ADOtable2.first;
while not ADOtable2.eof do
begin
combobox2.items.insert(-1,ADOtable2.fieldbyname('DepotID').asstring);
ADOtable2.Next;
end;
end;
procedure TAddSellFrm.FormShow(Sender: TObject);
begin
combobox1.text:='';
combobox2.text:='';
combobox3.text:='';
edit1.text:='';
edit2.text:='';
edit3.text:='';
edit4.text:='';
edit5.text:='';
edit6.text:='';
edit7.text:='';
Maskedit1.text:=formatdatetime('yyyy"-"mm"-"dd',Date);
Memo1.Text:='';
end;
procedure TAddSellFrm.Button2Click(Sender: TObject);
begin
combobox1.text:='';
combobox2.text:='';
combobox3.text:='';
edit1.text:='';
edit2.text:='';
edit3.text:='';
edit4.text:='';
edit5.text:='';
edit6.text:='';
edit7.text:='';
Memo1.Text:='';
end;
procedure TAddSellFrm.Button3Click(Sender: TObject);
begin
AddSellFrm.Hide;
end;
procedure TAddSellFrm.Button1Click(Sender: TObject);
var Payment,Quantity:string;
begin
if Combobox1.text='' then
showmessage('请选择收货单位')
else
if Combobox2.text='' then
showmessage('请选择仓库')
else
if Combobox3.text='' then
showmessage('请选择出库货品')
else
if edit6.text='' then
showmessage('请输入货品数量')
else
if edit7.text='' then
showmessage('请输入货品单价')
else
begin
Payment:=floattostr(strtofloat(edit6.text)*strtofloat(edit7.text));
with LoginFrm.ADOQuery1 do
begin
close;
sql.clear;
sql.add('select * from Storage where convert(varchar,DepotID)='+''''+Combobox2.text+''''+'and convert(varchar,ProductID)='+''''+Combobox3.text+'''');
open;
first;
Quantity:=floattostr(fieldbyname('Quantity').asfloat-strtofloat(Edit6.Text));
if strtofloat(Quantity)<0 then
showmessage('对不起,本类货品在此仓库中库存不够出库数量!')
else
begin
sql.add('insert into Sell (CustomerID,CustomerName,DepotID,DepotName,ProductId,ProductName,Spec,Unit,Quantity,UnitPrice,Payment,SellDate,SellRemark)values (' );
sql.add(''''+combobox1.text+''''+','+''''+edit1.text+''''+','+''''+combobox2.text+''''+','+''''+edit2.text+''''+','+''''+combobox3.text+''''+','+''''+edit3.text+''''+',');
sql.add(''''+edit4.text+''''+','+''''+edit5.text+''''+','+''''+edit6.text+''''+','+''''+edit7.text+''''+','+''''+Payment+''''+','+''''+maskedit1.text+''''+','+''''+memo1.text+''''+')');
sql.Add('update Storage set Quantity='+''''+Quantity+''''+' where convert(varchar,DepotID)='+''''+Combobox2.text+''''+'and convert(varchar,ProductID)='+''''+Combobox3.text+'''');
execsql;
showmessage('出库登记成功!') ;
end;
end;
end;
end;
procedure TAddSellFrm.ComboBox1Change(Sender: TObject);
begin
with LoginFrm.ADOQuery1 do
begin
close;
sql.clear;
sql.add('select * from Customer where Convert(varchar,CustomerID)='+''''+combobox1.text+'''');
open;
edit1.text:=fieldbyname('CustomerName').asstring;
end;
end;
procedure TAddSellFrm.ComboBox2Change(Sender: TObject);
var i:integer;
begin
Combobox3.items.clear;
combobox3.text:='';
edit3.text:='';
edit4.text:='';
edit5.text:='';
with LoginFrm.ADOQuery1 do
begin
close;
sql.clear;
sql.add('select * from Depot where Convert(varchar,DepotID)='+''''+Combobox2.text+'''');
open;
edit2.text:=fieldbyname('DepotName').asstring;
close;
sql.clear;
sql.add('select * from Storage where Convert(varchar,DepotID)='+''''+Combobox2.text+'''');
open;
first;
if recordcount=0 then
showmessage('对不起,本仓库没有货品库存!')
else
for i:=1 to recordcount do
combobox3.items.insert(-1,Fieldbyname('ProductID').asstring);
end;
end;
procedure TAddSellFrm.ComboBox3Change(Sender: TObject);
begin
with LoginFrm.ADOQuery1 do
begin
close;
sql.clear;
sql.add('select * from Storage where Convert(varchar,DepotID)='+''''+Combobox2.text+''''+'and Convert(varchar,ProductID)='+''''+combobox3.text+'''');
open;
edit3.text:=fieldbyname('ProductName').asstring;
edit4.text:=fieldbyname('Spec').asstring;
edit5.text:=fieldbyname('Unit').asstring;
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?