📄 mc_fylist.pas
字号:
unit MC_FYList;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DBCtrls, StdCtrls, Db, DBTables, Grids, DBGrids, Buttons;
type
TFYList = class(TForm)
GroupBox1: TGroupBox;
DBLookupComboBox1: TDBLookupComboBox;
DBGrid1: TDBGrid;
Table1: TTable;
Table2: TTable;
Table1BDEDesigner: TStringField;
Table1BDEDesigner2: TStringField;
Table2BDEDesigner: TStringField;
Table2BDEDesigner2: TStringField;
DataSource1: TDataSource;
DataSource2: TDataSource;
Table2BDEDesigner3: TStringField;
GroupBox2: TGroupBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
DBGrid2: TDBGrid;
Query1: TQuery;
DataSource3: TDataSource;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
GroupBox3: TGroupBox;
Query2: TQuery;
Table3: TTable;
Table3BDEDesigner: TStringField;
DataSource4: TDataSource;
DBGrid3: TDBGrid;
ListBox1: TListBox;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
DataSource5: TDataSource;
GroupBox4: TGroupBox;
DBGrid4: TDBGrid;
procedure BitBtn1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FYList: TFYList;
implementation
{$R *.DFM}
procedure TFYList.BitBtn1Click(Sender: TObject);
begin
GroupBox4.Visible:=False;
GroupBox3.Visible:=False;
GroupBox2.Visible:=True;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select Sum(水费.应收金额)');
Query1.SQL.Add(',Sum(水费.实收金额),Sum(电费.应收金额)');
Query1.SQL.Add(',Sum(电费.实收金额),Sum(煤气费.应收金额)');
Query1.SQL.Add(',Sum(煤气费.实收金额) From 水费');
Query1.SQL.Add(',电费,煤气费');
Query1.SQL.Add('Where 水费.水表编号=电费.电表编号 and 煤气费.煤气表编号=水费.水表编号 and');
Query1.SQL.Add('水表编号 in (Select 房间编号 From 房屋信息表 Where 区名=:A and 大楼名=:B)');
Query1.ParamByName('A').AsString:=Table1.FielDbyName('小区名').AsString;
Query1.ParamByName('B').AsString:=Table2.FielDbyName('大楼名称').AsString;
Query1.Open;
Label2.Caption:=Query1.Fields[0].AsString;
Label4.Caption:=Query1.Fields[1].AsString;
Label6.Caption:=Query1.Fields[2].AsString;
Label8.Caption:=Query1.Fields[3].AsString;
Label10.Caption:=Query1.Fields[4].AsString;
Label12.Caption:=Query1.Fields[5].AsString;
//水费.水表编号,水费.户主姓名,
//--------------------------------------------------------------------------
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select 水费.水表编号,水费.户主姓名,水费.应收金额');
Query1.SQL.Add(',水费.实收金额,水费.剩余金额,电费.应收金额');
Query1.SQL.Add(',电费.实收金额,电费.剩余金额,煤气费.应收金额');
Query1.SQL.Add(',煤气费.实收金额,煤气费.剩余金额 From 水费');
Query1.SQL.Add(',电费,煤气费');
Query1.SQL.Add('Where 水费.水表编号=电费.电表编号 and 煤气费.煤气表编号=水费.水表编号 and');
Query1.SQL.Add('水表编号 in (Select 房间编号 From 房屋信息表 Where 区名=:A and 大楼名=:B)');
Query1.ParamByName('A').AsString:=Table1.FielDbyName('小区名').AsString;
Query1.ParamByName('B').AsString:=Table2.FielDbyName('大楼名称').AsString;
Query1.Open;
DBGrid2.Columns[0].FieldName:='水表编号';
DBGrid2.Columns[1].FieldName:='户主姓名';
DBGrid2.Columns[2].FieldName:='应收金额';
DBGrid2.Columns[3].FieldName:='实收金额';
DBGrid2.Columns[4].FieldName:='剩余金额';
DBGrid2.Columns[5].FieldName:='应收金额_1';
DBGrid2.Columns[6].FieldName:='实收金额_1';
DBGrid2.Columns[7].FieldName:='剩余金额_1';
DBGrid2.Columns[8].FieldName:='应收金额_2';
DBGrid2.Columns[9].FieldName:='实收金额_2';
DBGrid2.Columns[10].FieldName:='剩余金额_2';
end;
procedure TFYList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FYList.release;
FYList:=Nil;
end;
procedure TFYList.BitBtn3Click(Sender: TObject);
var a,b:integer;
begin
For a:=0 to ListBox1.Items.Count-1 do
begin
if ListBox1.Items.Strings[a]=Table3.FieldByName('科目名').AsString then
begin
b:=0;
Break;
end else b:=1;
end;
if b=0 then
begin
ShowMessage('此科目以被选种!!');
end
else
begin
ListBox1.Items.Add(Table3.FieldByName('科目名').AsString);
end;
end;
procedure TFYList.BitBtn4Click(Sender: TObject);
begin
if ListBox1.Items.Count<>0 then
begin
ListBox1.Items.Delete(ListBox1.ItemIndex);
end;
end;
procedure TFYList.BitBtn2Click(Sender: TObject);
begin
GroupBox3.Visible:=True;
end;
procedure TFYList.BitBtn5Click(Sender: TObject);
var KM: array of String;
a:integer;
begin
GroupBox4.Visible:=True;
GroupBox3.Visible:=False;
GroupBox2.Visible:=False;
SetLength(KM,ListBox1.Items.Count);
Query2.close;
Query2.SQL.Clear;
Query2.SQL.Add('select 收费编号,户主姓名,费用科目,应收金额,实收金额,剩余金额 from 常用费用');
Query2.SQL.Add('where 收费编号 in (Select 房间编号 From 房屋信息表 Where 区名=:A and 大楼名=:B)');
Query2.SQL.Add('order by 收费编号,费用科目 ASC');
Query2.ParamByName('A').AsString:=Table1.FielDbyName('小区名').AsString;
Query2.ParamByName('B').AsString:=Table2.FielDbyName('大楼名称').AsString;
KM[0]:=ListBox1.Items.Strings[0];
Query2.Filter:=Format('费用科目'+'='+'''%s''',[KM[0]]);
For a:=1 to ListBox1.Items.count-1 do
begin
KM[a]:=ListBox1.Items.Strings[a];
Query2.Filter:=Query2.Filter+' or '+Format('费用科目'+'='+'''%s''',[ListBox1.Items.Strings[a]]);
end;
Query2.Filtered:=True;
Query2.Open;
KM:=Nil;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -