📄 mc_fysqxz.pas
字号:
unit MC_FYSQXZ;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DBTables, Db, StdCtrls, Buttons, Grids, DBGrids, DBCtrls;
type
TFYSQXZ = class(TForm)
GroupBox1: TGroupBox;
DBLookupComboBox1: TDBLookupComboBox;
GroupBox2: TGroupBox;
DBGrid1: TDBGrid;
GroupBox3: TGroupBox;
ListBox1: TListBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
DataSource1: TDataSource;
DataSource2: TDataSource;
Table2: TTable;
Table2BDEDesigner2: TStringField;
Table2BDEDesigner5: TIntegerField;
Table2BDEDesigner6: TStringField;
Table2BDEDesigner7: TStringField;
Table2BDEDesigner: TStringField;
Query1: TQuery;
Query1BDEDesigner: TStringField;
Query1BDEDesigner2: TStringField;
DBGrid2: TDBGrid;
Table1: TTable;
Table1BDEDesigner: TStringField;
Table1BDEDesigner2: TStringField;
Table1BDEDesigner3: TStringField;
Table1BDEDesigner4: TStringField;
Table1BDEDesigner5: TStringField;
Table1BDEDesigner6: TStringField;
Table1BDEDesigner7: TStringField;
DataSource3: TDataSource;
Table1BDEDesigner8: TStringField;
procedure BitBtn1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FYSQXZ: TFYSQXZ;
implementation
uses MC_SDFSQ;
{$R *.DFM}
procedure TFYSQXZ.BitBtn1Click(Sender: TObject);
var ZD: String;
ZDZ: Array of String;
a:integer;
begin
if ListBox1.Items.Count=0 then
begin
ShowMessage('请选择要浏览的大楼.');
end
else
begin
if not Assigned(SDFSQ) then
begin
SDFSQ:=TSDFSQ.Create(Self);
SetLength(ZDZ,ListBox1.Items.Count);//分配动态变量,记得释放掉
ZD:='大楼名';
SDFSQ.Query2.Close;
SDFSQ.Query2.SQL.Clear;
SDFSQ.Query2.SQL.Add('Select * From 水费 ');
SDFSQ.Query2.SQL.Add('Where 水表编号 in (');
SDFSQ.Query2.SQL.Add('Select 房间编号 From 房屋信息表 ');
SDFSQ.Query2.SQL.Add('Where 房间编号=:A ');
SDFSQ.Query2.ParamByName('A').AsString:=ListBox1.Items.Strings[0];
For a:=1 to ListBox1.Items.Count-1 do
begin
ZDZ[a]:=ListBox1.Items.Strings[a];
SDFSQ.Query2.SQL.Add(' or 房间编号='''+ZDZ[a]+'''');
end;
SDFSQ.Query2.SQL.Add(')');
SDFSQ.Query2.Open;
//----------------------------------------------------------------
SDFSQ.StringGrid1.RowCount:=SDFSQ.Query2.RecordCount+1;
//For a:=1 To SDFSQ.Query2.RecordCount do
a:=1;
While Not SDFSQ.Query2.Eof do
begin
SDFSQ.StringGrid1.Cells[1,a]:=SDFSQ.Query2.FieldByName('水表编号').AsString;
SDFSQ.StringGrid1.Cells[2,a]:=SDFSQ.Query2.FieldByName('户主姓名').AsString;
SDFSQ.StringGrid1.Cells[3,a]:=SDFSQ.Query2.FieldByName('收费金额').AsString;
SDFSQ.StringGrid1.Cells[4,a]:=SDFSQ.Query2.FieldByName('计费起始日期').AsString;
SDFSQ.StringGrid1.Cells[5,a]:=SDFSQ.Query2.FieldByName('计费终止日期').AsString;
SDFSQ.StringGrid1.Cells[6,a]:=SDFSQ.Query2.FieldByName('上月读数').AsString;
SDFSQ.StringGrid1.Cells[7,a]:=SDFSQ.Query2.FieldByName('本月读数').AsString;
SDFSQ.StringGrid1.Cells[8,a]:=SDFSQ.Query2.FieldByName('使用数').AsString;
SDFSQ.StringGrid1.Cells[9,a]:=SDFSQ.Query2.FieldByName('应收金额').AsString;
SDFSQ.StringGrid1.Cells[10,a]:=SDFSQ.Query2.FieldByName('实收金额').AsString;
SDFSQ.StringGrid1.Cells[11,a]:=SDFSQ.Query2.FieldByName('本月余额').AsString;
a:=a+1;
SDFSQ.Query2.Next;
end;
//-------------------------------------------------------------------------------------------------------------
SDFSQ.Query2.Close;
SDFSQ.Query2.SQL.Clear;
SDFSQ.Query2.SQL.Add('Select * From 电费 Where');
SDFSQ.Query2.SQL.Add('电表编号 in (');
SDFSQ.Query2.SQL.Add('Select 房间编号 From 房屋信息表 Where 房间编号=:A');
SDFSQ.Query2.ParamByName('A').AsString:=ListBox1.Items.Strings[0];
For a:=1 to ListBox1.Items.Count-1 do
begin
ZDZ[a]:=ListBox1.Items.Strings[a];
SDFSQ.Query2.SQL.Add(' or 房间编号='''+ZDZ[a]+'''');
end;
SDFSQ.Query2.SQL.Add(')');
SDFSQ.Query2.Open;
//----------------------------------------------------------------
SDFSQ.StringGrid2.RowCount:=SDFSQ.Query2.RecordCount+1;
For a:=1 To SDFSQ.Query2.RecordCount do
begin
SDFSQ.StringGrid2.Cells[1,a]:=SDFSQ.Query2.FieldByName('电表编号').AsString;
SDFSQ.StringGrid2.Cells[2,a]:=SDFSQ.Query2.FieldByName('户主姓名').AsString;
SDFSQ.StringGrid2.Cells[3,a]:=SDFSQ.Query2.FieldByName('收费金额').AsString;
SDFSQ.StringGrid2.Cells[4,a]:=SDFSQ.Query2.FieldByName('计费起始日期').AsString;
SDFSQ.StringGrid2.Cells[5,a]:=SDFSQ.Query2.FieldByName('计费终止日期').AsString;
SDFSQ.StringGrid2.Cells[6,a]:=SDFSQ.Query2.FieldByName('上月读数').AsString;
SDFSQ.StringGrid2.Cells[7,a]:=SDFSQ.Query2.FieldByName('本月读数').AsString;
SDFSQ.StringGrid2.Cells[8,a]:=SDFSQ.Query2.FieldByName('使用数').AsString;
SDFSQ.StringGrid2.Cells[9,a]:=SDFSQ.Query2.FieldByName('应收金额').AsString;
SDFSQ.StringGrid2.Cells[10,a]:=SDFSQ.Query2.FieldByName('实收金额').AsString;
SDFSQ.StringGrid2.Cells[11,a]:=SDFSQ.Query2.FieldByName('本月余额').AsString;
SDFSQ.Query2.Next;
end;
//-------------------------------------------------------------------------------------------------------------
SDFSQ.Query2.Close;
SDFSQ.Query2.SQL.Clear;
SDFSQ.Query2.SQL.Add('Select * From 煤气费 Where');
SDFSQ.Query2.SQL.Add('煤气表编号 in (');
SDFSQ.Query2.SQL.Add('Select 房间编号 From 房屋信息表 Where 房间编号=:A');
SDFSQ.Query2.ParamByName('A').AsString:=ListBox1.Items.Strings[0];
For a:=1 to ListBox1.Items.Count-1 do
begin
ZDZ[a]:=ListBox1.Items.Strings[a];
SDFSQ.Query2.SQL.Add(' or 房间编号='''+ZDZ[a]+'''');
end;
SDFSQ.Query2.SQL.Add(')');
SDFSQ.Query2.Open;
//----------------------------------------------------------------
SDFSQ.StringGrid3.RowCount:=SDFSQ.Query2.RecordCount+1;
For a:=1 To SDFSQ.Query2.RecordCount do
begin
SDFSQ.StringGrid3.Cells[1,a]:=SDFSQ.Query2.FieldByName('煤气表编号').AsString;
SDFSQ.StringGrid3.Cells[2,a]:=SDFSQ.Query2.FieldByName('户主姓名').AsString;
SDFSQ.StringGrid3.Cells[3,a]:=SDFSQ.Query2.FieldByName('收费金额').AsString;
SDFSQ.StringGrid3.Cells[4,a]:=SDFSQ.Query2.FieldByName('计费起始日期').AsString;
SDFSQ.StringGrid3.Cells[5,a]:=SDFSQ.Query2.FieldByName('计费终止日期').AsString;
SDFSQ.StringGrid3.Cells[6,a]:=SDFSQ.Query2.FieldByName('上月读数').AsString;
SDFSQ.StringGrid3.Cells[7,a]:=SDFSQ.Query2.FieldByName('本月读数').AsString;
SDFSQ.StringGrid3.Cells[8,a]:=SDFSQ.Query2.FieldByName('使用数').AsString;
SDFSQ.StringGrid3.Cells[9,a]:=SDFSQ.Query2.FieldByName('应收金额').AsString;
SDFSQ.StringGrid3.Cells[10,a]:=SDFSQ.Query2.FieldByName('实收金额').AsString;
SDFSQ.StringGrid3.Cells[11,a]:=SDFSQ.Query2.FieldByName('本月余额').AsString;
SDFSQ.Query2.Next;
end;
//--------------------------------------------------------------------------------------
SDFSQ.Query2.Close;
ZDZ:=Nil;//释放内存空间
SDFSQ.ShowModal;
end;
end;
end;
procedure TFYSQXZ.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FYSQXZ.Release;
FYSQXZ:=Nil;
end;
procedure TFYSQXZ.BitBtn2Click(Sender: TObject);
var a,b:integer;
begin
For a:=0 to ListBox1.Items.Count-1 do
begin
if ListBox1.Items.Strings[a]=Table1.FieldByName('房间编号').AsString then
begin
b:=0;
Break;
end else b:=1;
end;
if b=0 then
begin
ShowMessage('此大楼以被选种!!');
end
else
begin
ListBox1.Items.Add(Table1.FieldByName('房间编号').AsString);
end;
end;
procedure TFYSQXZ.BitBtn4Click(Sender: TObject);
begin
if ListBox1.Items.Count<>0 then
begin
ListBox1.Items.Delete(ListBox1.ItemIndex);
end;
end;
procedure TFYSQXZ.BitBtn3Click(Sender: TObject);
begin
Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -