📄 stock.pas
字号:
unit Stock;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ADODB, DB, RVClass,RVProj,RVCsStd,StdCtrls, Mask, DBCtrls, ExtCtrls, Grids, DBGrids,
ComCtrls;
type
TStockFrm = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Button3: TButton;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label8: TLabel;
Label7: TLabel;
Label5: TLabel;
Label6: TLabel;
Label9: TLabel;
Label10: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
DBComboBox1: TDBComboBox;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
Button1: TButton;
Button2: TButton;
Button4: TButton;
TabSheet2: TTabSheet;
GroupBox2: TGroupBox;
RadioButton1: TRadioButton;
Edit4: TEdit;
RadioButton2: TRadioButton;
Edit5: TEdit;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
Button5: TButton;
Button6: TButton;
GroupBox3: TGroupBox;
DBGrid2: TDBGrid;
DBNavigator2: TDBNavigator;
Button7: TButton;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
ADOTable1: TADOTable;
ADOQuery2: TADOQuery;
DataSource2: TDataSource;
DBComboBox2: TDBComboBox;
DBComboBox3: TDBComboBox;
Label11: TLabel;
ADOTable2: TADOTable;
Edit3: TEdit;
DateTimePicker1: TDateTimePicker;
procedure FormCreate(Sender: TObject);
procedure TabSheet1Show(Sender: TObject);
procedure DBComboBox2Change(Sender: TObject);
procedure DBComboBox3Change(Sender: TObject);
procedure DBEdit4Change(Sender: TObject);
procedure DBEdit5Change(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure TabSheet2Show(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
StockFrm: TStockFrm;
implementation
uses Main;
{$R *.dfm}
procedure TStockFrm.FormCreate(Sender: TObject);
begin
pagecontrol1.activepage:=tabsheet1;
ADOtable1.first;
while not ADOtable1.eof do
begin
dbcombobox1.items.insert(-1,ADOtable1.fieldbyname('FeederName').asstring);
ADOtable1.Next;
end;
ADOtable2.first;
while not ADOtable2.eof do
begin
dbcombobox2.items.insert(-1,ADOtable2.fieldbyname('ProductName').asstring);
dbcombobox3.items.insert(-1,ADOtable2.fieldbyname('ProductCode').asstring);
ADOtable2.Next;
end;
end;
procedure TStockFrm.TabSheet1Show(Sender: TObject);
begin
edit2.text:=datetostr(Date);
end;
procedure TStockFrm.DBComboBox2Change(Sender: TObject);
begin
with ADOQuery2 do
begin
close;
sql.clear;
sql.add('select * from Product where ProductName='+''''+DBComboBox2.text+'''');
open;
first;
DBComboBox3.text:=fieldbyname('ProductCode').asstring;
DBEdit1.text:=fieldbyname('Spec').asstring;
DBEdit2.text:=fieldbyname('Unit').asstring;
DBEdit3.text:=fieldbyname('RFStockPrice').asstring;
end;
end;
procedure TStockFrm.DBComboBox3Change(Sender: TObject);
begin
with ADOQuery2 do
begin
close;
sql.clear;
sql.add('select * from Product where ProductCode='+''''+DBComboBox3.text+'''');
open;
first;
DBComboBox2.text:=fieldbyname('ProductName').asstring;
DBEdit1.text:=fieldbyname('Spec').asstring;
DBEdit2.text:=fieldbyname('Unit').asstring;
DBEdit3.text:=fieldbyname('RFStockPrice').asstring;
end;
end;
procedure TStockFrm.DBEdit4Change(Sender: TObject);
begin
if (dbedit4.text<>'')and (dbedit5.text<>'')then
DBEdit6.text:=floattostr(strtofloat(dbedit4.text)*strtofloat(dbedit5.text));
end;
procedure TStockFrm.DBEdit5Change(Sender: TObject);
begin
if (dbedit4.text<>'')and (dbedit5.text<>'')then
DBEdit6.text:=floattostr(strtofloat(dbedit4.text)*strtofloat(dbedit5.text));
end;
procedure TStockFrm.Button2Click(Sender: TObject);
begin
with ADOQuery2 do
begin
close;
sql.clear;
sql.add('select top 1 * from Stock order by StockID desc');
open;
first;
if fieldbyname('StockDate').asstring=datetostr(Date) then
edit1.text:=floattostr(fieldbyname('StockID').asfloat+1)
else
edit1.text:=floattostr(strtofloat(formatdatetime('yyyy""mm""dd',Date))*10000+1);
end;
with ADOQuery1 do
begin
close;
sql.clear;
sql.add('select * from Stock where StockID='+''''+edit1.text+'''');
open;
first;
end;
end;
procedure TStockFrm.Button4Click(Sender: TObject);
begin
StockFrm.hide;
end;
procedure TStockFrm.Button1Click(Sender: TObject);
begin
if dbcombobox1.text='' then
showmessage('请选择供货商!')
else
if dbcombobox2.text='' then
showmessage('请选择入库货品!')
else
if dbedit4.text='' then
showmessage('请填写入库数量!')
else
if dbedit5.text='' then
showmessage('请填写入库单价!')
else
begin
with ADOQuery2 do
begin
close;
sql.clear;
sql.add('insert into Stock (StockID,StockDate,FeederName,ProductName,');
sql.add('ProductCode,Spec,Unit,RFStockPrice,UnitPrice,Quantity,Payment)values (' );
sql.add(''''+edit1.text+''''+','+''''+edit2.text+''''+',');
sql.add(''''+dbcombobox1.text+''''+','+''''+dbcombobox2.text+''''+',');
sql.add(''''+dbcombobox3.text+''''+','+''''+dbedit1.text+''''+',');
sql.add(''''+dbedit2.text+''''+','+''''+dbedit3.text+''''+',');
sql.add(''''+dbedit4.text+''''+','+''''+dbedit5.text+''''+',');
sql.add(''''+dbedit6.text+''''+')');
execsql;
end;
with ADOQuery1 do
begin
close;
sql.clear;
sql.add('select * from Stock where StockID='+''''+edit1.text+'''');
open;
first;
end;
showmessage('此货品添加成功!');
end;
end;
procedure TStockFrm.Button6Click(Sender: TObject);
begin
StockFrm.hide;
end;
procedure TStockFrm.TabSheet2Show(Sender: TObject);
begin
DateTimePicker1.date:=date;
radiobutton1.checked:=true;
end;
procedure TStockFrm.Button5Click(Sender: TObject);
var query:string;
begin
query:='';
if Radiobutton1.checked=true then
if edit3.text='' then
showmessage('请输入相应查询条件')
else
query:='select * from Stock where StockID like'+''''+'%'+edit3.text+'%'+'''';
if Radiobutton2.checked=true then
if edit4.text='' then
showmessage('请输入相应查询条件')
else
query:='select * from Stock where FeederName like'+''''+'%'+edit4.text+'%'+''''+'order by StockID desc';
if Radiobutton3.checked=true then
query:='select * from Stock where StockDate ='+''''+datetostr(DateTimePicker1.date)+''''+'order by StockID desc';
if Radiobutton4.checked=true then
if edit5.text='' then
showmessage('请输入相应查询条件')
else
query:='select * from Stock where ProductName like'+''''+'%'+edit5.text+'%'+''''+'order by StockID desc';
if query<>'' then
begin
with ADOQuery2 do
begin
close;
sql.clear;
sql.add(query);
open;
first;
if recordcount=0 then
showmessage('对不起,没有符合条件的查询结果!请重新查询!')
else
Groupbox3.caption:='查询结果共'+floattostr(recordcount)+'条记录'
end;
end;
end;
procedure TStockFrm.Button7Click(Sender: TObject);
begin
MainFrm.RvProject1.Open;
MainFrm.RvProject1.ExecuteReport('StockQueryReport');
MainFrm.RvProject1.Close;
end;
procedure TStockFrm.Button3Click(Sender: TObject);
begin
MainFrm.RvProject1.Open;
MainFrm.RvProject1.ExecuteReport('StockReport');
MainFrm.RvProject1.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -