📄 ks_sr_cx_pas.pas
字号:
unit ks_sr_cx_pas;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, pub_frm_pas, ImgList, ComCtrls, ToolWin, ExtCtrls, StdCtrls,
Grids, DBGrids, ppClass, daDataView, daQueryDataView, daDBExpress,
ppModule, daDataModule, ppBands, ppCache, ppComm, ppRelatv, ppProd,
ppReport, ppDB, ppDBPipe, ppCtrls, ppPrnabl;
type
Tks_sr_cx = class(Tpub_frm)
Panel3: TPanel;
Panel4: TPanel;
Panel5: TPanel;
TreeView1: TTreeView;
Panel6: TPanel;
Panel7: TPanel;
Panel8: TPanel;
DBGrid1: TDBGrid;
Label5: TLabel;
Edit1: TEdit;
Label1: TLabel;
Edit2: TEdit;
Label2: TLabel;
Edit3: TEdit;
Label3: TLabel;
Edit4: TEdit;
procedure FormCreate(Sender: TObject);
procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
private
{ Private declarations }
public
{ Public declarations }
end;
var
ks_sr_cx: Tks_sr_cx;
implementation
uses
main_dm_pas;
var
main_dm:Tmain_dm;
{$R *.dfm}
procedure Tks_sr_cx.FormCreate(Sender: TObject);
var
i:integer;
a_node,b_node,c_node,d_node:TTreenode;
begin
inherited;
main_dm:=Tmain_dm.Create(self);
main_dm.gz.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(application.ExeName)+'gzgl.mdb;Persist Security Info=False';
main_dm.adq1.Close;
main_dm.adq1.SQL.Clear;
main_dm.adq1.SQL.Add('select nf,yf,ks from fyjsb where mark=1 group by nf,yf,ks order by nf,yf,ks');
main_dm.adq1.open;
a_node:=Ttreenode.Create(nil);
a_node.Text :='';
b_node:=Ttreenode.Create(nil);
b_node.Text :='';
c_node:=Ttreenode.Create(nil);
c_node.Text :='';
d_node:=treeview1.Items.AddFirst(nil,'科室选择');
d_node.ImageIndex :=1;
main_dm.adq1.First;
for i:=0 to main_dm.adq1.RecordCount-1 do
begin
if a_node.Text<>inttostr(main_dm.adq1.FieldValues['nf'])+'年' then
begin
a_node:=treeview1.Items.AddChild(d_node,inttostr(main_dm.adq1.FieldValues['nf'])+'年');
b_node:=treeview1.Items.AddChild(a_node,inttostr(main_dm.adq1.FieldValues['yf'])+'月');
end;
if b_node.Text<>inttostr(main_dm.adq1.FieldValues['yf'])+'月' then
b_node:=treeview1.Items.AddChild(a_node,inttostr(main_dm.adq1.FieldValues['yf'])+'月');
c_node:=treeview1.Items.AddChild(b_node,main_dm.adq1.FieldValues['ks']);
a_node.ImageIndex :=3;
b_node.ImageIndex :=0;
c_node.ImageIndex :=2;
main_dm.adq1.Next;
end;
main_dm.adq2.Close;
main_dm.adq2.SQL.Clear;
main_dm.adq2.SQL.Add('select nf as 年份,yf as 月份,ks as 科室,mark as 标记,num as 金额,xmmc as 项目名称,id as 编号,rq as 录入时间');
if self.Name='ks_sr_cx' then
main_dm.adq2.SQL.Add(' from fyjsb where mark=1' )
else
main_dm.adq2.SQL.Add(' from fyjsb where mark=0' );
main_dm.adq2.Prepared;
main_dm.adq2.Open;
main_dm.DataSource1.DataSet :=main_dm.adq2 ;
dbgrid1.DataSource :=main_dm.DataSource1 ;
dbgrid1.Columns[2].Width :=100;
main_dm.adq3.Close;
main_dm.adq3.SQL.Clear;
main_dm.adq3.SQL.Add('select sum(num) as num from fyjsb where');
if self.Name='ks_sr_cx' then
main_dm.adq3.SQL.Add(' mark=1')
else
main_dm.adq3.SQL.Add(' mark=0');
main_dm.adq3.Open;
edit4.Text :=floattostr(main_dm.adq3.FieldValues['num']);
end;
procedure Tks_sr_cx.TreeView1Change(Sender: TObject; Node: TTreeNode);
var
i:integer;
num_1:real;
begin
inherited;
if treeview1.Selected.Count >0 then
begin
if treeview1.Selected.Text ='科室选择' then
begin
main_dm.adq2.Filtered :=false;
edit1.Clear;
edit2.Clear;
edit3.Clear;
end
else
begin
if pos('年',treeview1.Selected.Text)<>0 then
begin
// main_dm.adq2.Filtered :=false;
main_dm.adq2.Filter :='年份='+copy(treeview1.Selected.Text,1,pos('年',treeview1.Selected.Text)-1);
main_dm.adq2.Filtered :=true;
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit2.Text :=treeview1.Selected.Text;
end
else
begin
if pos('月',treeview1.Selected.Text)<>0 then
begin
// main_dm.adq2.Filtered :=false;
main_dm.adq2.Filter :='年份='+copy(treeview1.Selected.Parent.Text,1,pos('年',treeview1.Selected.Parent.Text)-1) +' and 月份='+copy(treeview1.Selected.Text,1,pos('月',treeview1.Selected.Text)-1);
main_dm.adq2.Filtered :=true;
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit2.Text :=treeview1.Selected.parent.Text;
edit3.Text :=treeview1.Selected.Text;
end;
end;
end;
num_1:=0;
for i:=0 to main_dm.adq2.RecordCount -1 do
begin
num_1:=num_1+main_dm.adq2.FieldValues['金额'];
main_dm.adq2.Next;
end;
edit4.Text :=floattostr(num_1);
end
else
begin
main_dm.adq2.Filter :='年份='+copy(treeview1.Selected.Parent.parent.Text,1,pos('年',treeview1.Selected.Parent.parent.Text)-1) +' and 月份='+copy(treeview1.Selected.parent.Text,1,pos('月',treeview1.Selected.parent.Text)-1)+' and 科室='+#39+treeview1.Selected.text+#39;
main_dm.adq2.Filtered :=true;
for i:=0 to main_dm.adq2.RecordCount -1 do
begin
num_1:=num_1+main_dm.adq2.FieldValues['金额'];
main_dm.adq2.Next;
end;
edit4.Text :=floattostr(num_1);
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit2.Text :=treeview1.Selected.parent.parent.Text;
edit3.Text :=treeview1.Selected.parent.Text;
edit1.Text :=treeview1.Selected.Text;
end;
main_dm.adq2.First;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -