unit DM;
interface
uses
SysUtils, Classes, DB, ADODB;
type
TDataM = class(TDataModule)
ADOConnection1: TADOConnection;
ADOTCode: TADOTable;
ADOTPZ: TADOTable;
ADOTType: TADOTable;
procedure DataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DataM: TDataM;
implementation
uses PZ, PZFind;
{$R *.dfm}
procedure TDataM.DataModuleCreate(Sender: TObject);
var
s:string;
begin //Datam 迟于frmPZ被创建,因些下面代码不能写在frmPZ
ADOTType.First; //取凭证类型
with frmPZ do begin
while not DataM.ADOTType.Eof do begin
s:=DataM.ADOTType.fieldbyName('PZType').AsString;
cbPZType.Items.Add(s);
frmPZFind.cbPZType.Items.Add(s);
DataM.ADOTType.Next ;
end; //取每类凭证对应的下一凭证号
if cbPZType.Items.Count >0 then begin
cbPZType.Text := cbPZType.Items[0];//Items[0]是默认的凭证字
edtPZNO.Text:=inttostr(GetNextPZNO(cbPZType.Text));//inttostr(FPZNO[0]); //FPZNO[0]默认的凭证号
end;
end;
end;
end.
/////////////////////////////////////////////////////////////////////////////////////////////////
unit PZFind;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TfrmPZFind = class(TForm)
lblYear: TLabel;
lblPeriod: TLabel;
lblPZType: TLabel;
lblPZNO: TLabel;
edtYear: TEdit;
cbMonth: TComboBox;
cbPZType: TComboBox;
edtPZNO: TEdit;
btnOK: TBitBtn;
btnCancel: TBitBtn;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmPZFind: TfrmPZFind;
implementation
uses DateUtils, PZ, DM;
{$R *.dfm}
procedure TfrmPZFind.FormCreate(Sender: TObject);
begin
left:=frmpz.Left +(frmpz.Width -width) div 2;
top:=frmpz.Top +(frmpz.Height -height) div 2;
edtYear.Text :=inttostr(frmpz.FYEAR);// inttostr(Yearof(now));
cbMonth.Text :=inttostr(frmPZ.FMONTH);//inttostr(Monthof(now));
end;
end.
//////////////////////////////////////////////////////////////////////////////////////////////
unit CODE;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls;
type
TfrmCODE = class(TForm)
tvCODE: TTreeView;
btnOK: TBitBtn;
btnCancel: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure tvCODEDblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmCODE: TfrmCODE;
implementation
uses DM, PZ;
{$R *.dfm}
procedure TfrmCODE.FormCreate(Sender: TObject);
var
tn:TTreeNODE;
begin
left:=frmPZ.left;
top:=frmPZ.top;
DataM.ADOTCode.First;
tn:=tvCODE.Items[0];
with DataM.ADOTCode do begin
while not DataM.ADOTCode.Eof do begin //产生会计科目代码表
tvCODE.Items.AddChild(tn,FieldByName('CODE').AsString+' '+FieldByName('NAME').AsString);
Next;
end;
tvCODE.FullExpand ;
end;
end;
procedure TfrmCODE.tvCODEDblClick(Sender: TObject);
begin
if tvCODE.Selected <>nil then
btnOK.Click
else
btnCancel.Click;
end;
end.