📄 goods.pas
字号:
unit goods;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, ADODB, wwdblook, DBCtrls, ComCtrls, ToolWin, ImgList, ExtCtrls,
StdCtrls, Buttons, Grids, DBGrids, Mask, Menus;
type
Tfromgoods = class(TForm)
Panel3: TPanel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Animate1: TAnimate;
DateTimePicker5: TDateTimePicker;
BitBtn1: TBitBtn;
DateTimePicker6: TDateTimePicker;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
ImageList2: TImageList;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton5: TToolButton;
tbnsort: TToolButton;
tbnfind: TToolButton;
tbnprint: TToolButton;
ToolButton4: TToolButton;
DBNavigator1: TDBNavigator;
Label4: TLabel;
Label5: TLabel;
ADOdept: TADOQuery;
ADOindetail: TADOQuery;
ADOdeptdno: TStringField;
ADOindetailindetailno: TStringField;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Panel2: TPanel;
Label18: TLabel;
Edit1: TEdit;
DBGrid1: TDBGrid;
Splitter1: TSplitter;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label14: TLabel;
Label17: TLabel;
DBText2: TDBText;
DBText3: TDBText;
Label3: TLabel;
Label6: TLabel;
Label7: TLabel;
DBText1: TDBText;
DBText4: TDBText;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
dept: TwwDBLookupCombo;
idetail: TwwDBLookupCombo;
DBEdit3: TDBEdit;
Panel4: TPanel;
Label8: TLabel;
Edit2: TEdit;
DBGrid2: TDBGrid;
Splitter2: TSplitter;
DBGrid3: TDBGrid;
ADOdeptdept: TStringField;
ADOindetailindetailname: TStringField;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
DBGrid4: TDBGrid;
Splitter3: TSplitter;
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton4Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
procedure DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);
procedure idetailChange(Sender: TObject);
procedure N1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fromgoods: Tfromgoods;
implementation
uses datamol, main, publicfunction, addzt, goodsindetail, dingdanman;
{$R *.DFM}
procedure Tfromgoods.FormKeyPress(Sender: TObject; var Key: Char);
begin
if activecontrol=dbgrid1 then
exit;
if key=#13 then
begin
key:=#0;
if activecontrol=dbedit3 then
begin
if datamod.ADOgoods.State in [dsinsert,dsedit] then
begin
datamod.adogoods.post;
datamod.adogoods.append;
end;
dbedit1.setfocus;
end
else
selectnext(activecontrol,true,true);
end;
end;
procedure Tfromgoods.ToolButton4Click(Sender: TObject);
begin
close;
end;
procedure Tfromgoods.FormShow(Sender: TObject);
begin
adodept.Close;
adodept.Open;
adoindetail.Close;
adoindetail.Open;
end;
procedure Tfromgoods.FormClose(Sender: TObject; var Action: TCloseAction);
begin
datamod.Adogoods.Close;
datamod.ADOdingdanman.Close;
adodept.Close;
adoindetail.Close;
action:=cafree;
fromgoods:=nil;
end;
procedure Tfromgoods.FormCreate(Sender: TObject);
begin
adodept.Close;
adodept.Open;
adoindetail.Close;
adoindetail.open;
datamod.ADOgoods.Close;
datamod.adogoods.commandtext:='select * from goods order by goodsid';
datamod.Adogoods.open;
datamod.Adoindetail.Close;
datamod.adoindetail.commandtext:='select * from indetail order by indetailno';
datamod.Adoindetail.Open;
datamod.adoindetailb.close;
datamod.adoindetailb.open;
datamod.Adodept.Open;
datamod.adodingdanman.Close;
datamod.adodingdanman.Open;
end;
procedure Tfromgoods.PageControl1Change(Sender: TObject);
begin
case pagecontrol1.ActivePageIndex of
0:begin
dbnavigator1.DataSource:=datamod.Dsgoods;
adoindetail.Close;
adoindetail.open;
end;
1:begin
dbnavigator1.DataSource:=datamod.Dsindetail;
end;
end;
end;
procedure Tfromgoods.DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);
begin
if pagecontrol1.ActivePageIndex=1 then
begin
if button in [nbinsert,nbedit] then
begin
if not assigned(Formgoodsindetail) then
Formgoodsindetail:=tFormgoodsindetail.Create(self);
Formgoodsindetail.Show;
if button=nbedit then
begin
formgoodsindetail.dbEdit1.Text:=datamod.Adoindetailindetailno.Value;
formgoodsindetail.dbEdit2.Text:=datamod.Adoindetailindetailname.Value;
end;
end;
end;
end;
procedure Tfromgoods.idetailChange(Sender: TObject);
begin
if datamod.adogoods.Active then
begin
datamod.adogoods.edit;
datamod.adogoodsindetailname.Value:=adoindetail.fieldbyname('indetailname').asstring;
datamod.adoquery1.Close;
datamod.adoquery1.sql.Clear;
datamod.adoquery1.SQL.add('select sum(isnull(prices,0)) prices from indetailb where indetailno='''+trim(idetail.Text)+'''');
datamod.adoquery1.open;
if not datamod.adoquery1.Eof then
begin
datamod.adogoods.Edit;
datamod.adogoodsprices.Value:=datamod.adoquery1.fieldbyname('prices').asfloat;
end;
end;
end;
procedure Tfromgoods.N1Click(Sender: TObject);
begin
if not assigned(formdingdanman) then
formdingdanman:=tformdingdanman.create(self);
formdingdanman.show;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -