⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ks_sr_cx_pas.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 + -