?? khhkyjc.~pas
字號:
unit khhkyjc;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGridEh, ComCtrls, StdCtrls, DBCtrls, ExtCtrls, Mask,
DBCtrlsEh, Spin, DBLookupEh, StdActns, ActnList, ActnMan, Menus, PrnDbgeh,
DBGridEhImpExp, Buttons, AdoDb, Db;
type
Tkhhkyjcfrm = class(TForm)
Panel1: TPanel;
DBNavigator1: TDBNavigator;
DBGridEh1: TDBGridEh;
GroupBox1: TGroupBox;
Label8: TLabel;
Edit1: TEdit;
Button1: TButton;
slcb1: TComboBox;
sled1: TSpinEdit;
slxx1: TComboBox;
Label2: TLabel;
Button2: TButton;
stb: TStatusBar;
SaveDialog1: TSaveDialog;
MYPDBGEh: TPrintDBGridEh;
PopupMenu1: TPopupMenu;
N2: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
PrintSetup1: TMenuItem;
N1: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
ActionManager1: TActionManager;
EditCut1: TEditCut;
EditCopy1: TEditCopy;
EditPaste1: TEditPaste;
EditDelete1: TEditDelete;
FilePrintSetup1: TFilePrintSetup;
FontEdit1: TFontEdit;
ColorSelect1: TColorSelect;
PrintDlg1: TPrintDlg;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
Panel2: TPanel;
GroupBox2: TGroupBox;
nf_spe: TSpinEdit;
Label3: TLabel;
jzts: TLabel;
Label4: TLabel;
CheckBox1: TCheckBox;
dblkbox: TDBLookupComboboxEh;
BitBtn1: TBitBtn;
Label5: TLabel;
yf_spe: TSpinEdit;
CheckBox2: TCheckBox;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FontEdit1Accept(Sender: TObject);
procedure PrintSetup1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure nf_speChange(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
private
{ Private declarations }
public
sxtjtx:string;
{ Public declarations }
end;
var
khhkyjcfrm: Tkhhkyjcfrm;
implementation
uses data, main;
{$R *.dfm}
procedure Tkhhkyjcfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
khhkyjcfrm:=nil;
end;
procedure Tkhhkyjcfrm.FormCreate(Sender: TObject);
var year,month,day:Word;
begin
decodedate(now,year,month,day);
yf_spe.Value:=month;
dm.jzxxbads.Close;
dm.jzxxbads.Open;
dm.jzxxbads.Filter:='結轉項目='+''''+'客戶貨款'+'''';
dm.jzxxbads.Filtered:=true;
nf_spe.MinValue:=dm.jzxxbads.fieldbyname('開始年份').Value;
nf_spe.MaxValue:=dm.jzxxbads.fieldbyname('最后年份').Value;
nf_spe.Value:=dm.jzxxbads.fieldbyname('最后年份').Value;
dm.hkads_khyjc.Close;
dm.hkads_khyjc.CommandText:='select 客戶每月貨款.* ,客戶.地區 from 客戶每月貨款,客戶'+
' where (上月未收款>0 or 當月應收款>0 or 當月已收款>0 or '+
' 當月未收款>0) and 客戶每月貨款.客戶id=客戶.客戶id and 年份=:nf and 月份=:yf order by 客戶每月貨款.客戶id';
dm.hkads_khyjc.Parameters.ParamByName('nf').Value:=nf_spe.Value;
dm.hkads_khyjc.Parameters.ParamByName('yf').Value:=yf_spe.Value;
dm.hkads_khyjc.Prepared;
dm.hkads_khyjc.Open;
dm.zlcxads_dq.Close;
dm.zlcxads_dq.CommandText:=' select 地區 from 客戶 group by 地區';
dm.zlcxads_dq.Open;
end;
procedure Tkhhkyjcfrm.Button1Click(Sender: TObject);
begin
close;
end;
procedure Tkhhkyjcfrm.Button2Click(Sender: TObject);
var sxtj:string;
begin
sxtj:='';
if trim(edit1.Text)<>'' then
sxtj:='客戶ID like %'+trim(edit1.Text)+'%';
if slxx1.ItemIndex>0 then
if sxtj<>'' then
sxtj:=sxtj+' and '+slxx1.Text+slcb1.Text+sled1.Text
else
sxtj:=slxx1.Text+slcb1.Text+sled1.Text;
if checkbox2.Checked then
if (dblkbox.KeyValue<>'') and
(dblkbox.KeyValue<>null) then
if sxtj<>'' then
sxtj:=sxtj+' and 地區='+''''+dblkbox.KeyValue+''''
else
sxtj:='地區='+''''+dblkbox.KeyValue+'''';
dm.hkads_khyjc.Filtered:=false;
if trim(sxtj)<>'' then
begin
dm.hkads_khyjc.Filter:=sxtj;
dm.hkads_khyjc.Filtered:=true;
end;
sxtjtx:=sxtj;
sxtjtx:=StringReplace(sxtjtx,'and','以及',[rfReplaceAll]);
sxtjtx:=StringReplace(sxtjtx,'like %','包含"',[rfReplaceAll]);
sxtjtx:=StringReplace(sxtjtx,'%','"',[rfReplaceAll]);
sxtjtx:='查詢條件:'+sxtjtx;
stb.SimpleText:=sxtjtx;
end;
procedure Tkhhkyjcfrm.FontEdit1Accept(Sender: TObject);
begin
TDBGridEh(ActiveControl).Font:=FontEdit1.Dialog.Font;
TDBGridEh(ActiveControl).FooterFont:=FontEdit1.Dialog.Font;
TDBGridEh(ActiveControl).TitleFont:=FontEdit1.Dialog.Font;
end;
procedure Tkhhkyjcfrm.PrintSetup1Click(Sender: TObject);
var bt,tj:string;
begin
bt:='客戶貨款月結存';
tj:=inttostr(nf_spe.value)+'年'+inttostr(yf_spe.Value)+'月. '+sxtjtx; //打印條件:
if (ActiveControl is TDBGridEh) then
begin
MYPDBGEh.DBGridEh := TDBGridEh(ActiveControl);
MYPDBGEh.SetSubstitutes(['%[Today]',DateToStr(Now),'%[bt]',bt,'%[tj]',tj]);
MYPDBGEh.print;
end;
end;
procedure Tkhhkyjcfrm.N1Click(Sender: TObject);
var bt,tj:string;
begin
bt:='客戶貨款月結存';
tj:=inttostr(nf_spe.value)+'年'+inttostr(yf_spe.Value)+'月. '+sxtjtx; //打印條件:
if (ActiveControl is TDBGridEh) then
begin
MYPDBGEh.DBGridEh := TDBGridEh(ActiveControl);
MYPDBGEh.SetSubstitutes(['%[Today]',DateToStr(Now),'%[bt]',bt,'%[tj]',tj]);
MYPDBGEh.Preview;
end;
end;
procedure Tkhhkyjcfrm.N4Click(Sender: TObject);
var ExpClass:TDBGridEhExportClass;
Ext:String;
begin
SaveDialog1.FileName := 'file1';
if (ActiveControl is TDBGridEh) then
if SaveDialog1.Execute then
begin
case SaveDialog1.FilterIndex of
1: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
2: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv'; end;
3: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
4: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end;
5: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
else
ExpClass := nil; Ext := '';
end;
if ExpClass <> nil then
begin
if UpperCase(Copy(SaveDialog1.FileName,Length(SaveDialog1.FileName)-2,3)) <>
UpperCase(Ext) then
SaveDialog1.FileName := SaveDialog1.FileName + '.' + Ext;
SaveDBGridEhToExportFile(ExpClass,TDBGridEh(ActiveControl),
SaveDialog1.FileName,true);
end;
end;
end;
procedure Tkhhkyjcfrm.N8Click(Sender: TObject);
begin
TDBGridEh(ActiveControl).Columns
[TDBGridEh(ActiveControl).SelectedIndex].Visible:=false;
if TDBGridEh(ActiveControl).SelectedIndex<
TDBGridEh(ActiveControl).Columns.Count-1 then
TDBGridEh(ActiveControl).SelectedIndex:=
TDBGridEh(ActiveControl).SelectedIndex+1;
end;
procedure Tkhhkyjcfrm.N9Click(Sender: TObject);
var i:integer;
begin
for i:=1 to TDBGridEh(ActiveControl).Columns.Count-1 do
begin
TDBGridEh(ActiveControl).Columns[i].Visible:=true;
end;
end;
procedure Tkhhkyjcfrm.nf_speChange(Sender: TObject);
begin
if nf_spe.Value>nf_spe.MaxValue then
nf_spe.Value:=nf_spe.MaxValue;
if nf_spe.Value<nf_spe.MinValue then
nf_spe.Value:=nf_spe.MinValue;
if nf_spe.Value<nf_spe.MaxValue then
begin
jzts.Caption:='當年數據已結轉,不可重新整理';
jzts.Color:=clred;
bitbtn1.Enabled:=false;
end
else
begin
jzts.Caption:='當年數據未結轉,可重新整理';
jzts.Color:=clbtnface;
bitbtn1.Enabled:=true;
end;
dm.hkads_khyjc.Close;
dm.hkads_khyjc.Parameters.ParamByName('nf').Value:=nf_spe.Value;
dm.hkads_khyjc.Parameters.ParamByName('yf').Value:=yf_spe.Value;
dm.hkads_khyjc.Prepared;
dm.hkads_khyjc.Open;
end;
procedure Tkhhkyjcfrm.CheckBox1Click(Sender: TObject);
begin
dbgrideh1.AutoFitColWidths:=checkbox1.Checked;
end;
procedure Tkhhkyjcfrm.BitBtn1Click(Sender: TObject);
var ts:string;
begin
ts:=jzts.Caption;
jzts.Font.Color:=clFuchsia;
jzts.Caption:='正在整理中...';
khhkyjcfrm.Refresh;
dbgrideh1.Cursor:=crhourglass;
dm.ASP_hkZL.Close;
dm.ASP_hkZL.ProcedureName:='khmyhk;1';
dm.ASP_hkZL.Parameters.Clear;
with dm.ASP_hkZL.Parameters.AddParameter do
begin
Name:='@return_value';
Direction:=pdReturnValue;
DataType:=ftInteger;
end;
with dm.ASP_hkZL.Parameters.AddParameter do
begin
Name:='@nf';
Direction:=pdInput;
DataType:=ftInteger;
end;
with dm.ASP_hkZL.Parameters.AddParameter do
begin
Name:='@yf';
Direction:=pdInput;
DataType:=ftInteger;
end;
dm.ASP_hkZL.Parameters.ParamByName('@nf').Value:=nf_spe.Value;
dm.ASP_hkZL.Parameters.ParamByName('@yf').Value:=yf_spe.Value;
dm.ASP_hkZL.Prepared;
dm.ASP_hkZL.ExecProc;
dm.hkads_khyjc.Prepared;
jzts.Caption:=ts;
jzts.Font.Color:=clblack;
dbgrideh1.Cursor:=crdefault;
end;
procedure Tkhhkyjcfrm.CheckBox2Click(Sender: TObject);
begin
dblkbox.Enabled:=checkbox2.Checked;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -