?? mc_dloptions.~pas
字號:
end;
SQL.Add(')');
SQL.Add('ORDER BY 收費編號 ASC');
Open;
SFYL.StringGrid2.RowCount:=SFYL.Query4.RecordCount+1;
//-------
Close;
SQL.Clear;
SQL.Add('Select * From 其它費用表');
SQL.Add('Where 收費編號 in (Select 房間編號 From 房屋信息表');
SQL.Add('Where 大樓編號=:A');
ParamByName('A').AsString:=ListBox1.Items.Strings[0];
For a:=1 to ListBox1.Items.Count-1 do
begin
ZDZ[a]:=ListBox1.Items.Strings[a];
SQL.Add('or 大樓編號='''+ZDZ[a]+'''');
//ParamByName('ZDZ[a]').AsString:=ListBox1.Items.Strings[a];
end;
SQL.Add(')');
SQL.Add('ORDER BY 收費編號,費用科目 ASC');
Open;
FI:=FieldByName('收費編號').AsString;
while not EOf do
begin
if FI=FieldByName('收費編號').AsString then
begin
s:=s+FieldByName('剩余金額').AsFloat;
end
else
begin
s:=0;
FI:=FieldByName('收費編號').AsString;
end;
B:=SFYL.StringGrid2.Col;
C:=SFYL.STringGrid2.Row;
if FieldByName('收費編號').AsString<>SFYL.STringGrid2.Cells[1,c] then
begin
SFYL.STringGrid2.Cells[1,c]:=FieldByName('收費編號').AsString;
SFYL.StringGrid2.CElls[2,c]:=FieldbyName('戶主姓名').AsSTring;
end;
With SFYL.StringGrid2 do
begin
for a:=3 to ColCount-2 do
begin
b:=Col;
C:=Row;
if '應收'+FieldbyName('費用科目').AsString=Cells[a,0] then
begin
Cells[a,c]:=FieldByName('應收金額').AsString;
Cells[a+1,c]:=FieldByName('實收金額').AsString;
if a+1=ColCount-2 then
begin
SFYL.StringGrid2.Cells[ColCount-1,c]:=FloatToStr(s);
SFYL.StringGrid2.Col:=1;
if Row<>Rowcount-1 then
Row:=Row+1;
Break;
end
else Break;
end;
end;
end;
Next;
end;
end;
//--------------
//-----------------------------------------------------------------
//--------------
SFYL.StringGrid1.ColCount:=2;
SFYL.StringGrid1.RowCount:=2;
SFYL.StringGrid1.FixedRows:=1;
SFYL.StringGrid1.FixedCols:=1;
with SFYL.Query5 do
begin
Close;
SQL.Clear;
SQL.Add('Select Distinct 費用科目 From 常用費用 ORDER BY 費用科目 ASC');
Open;
with SFYL.StringGrid1 do
begin
ColCount:=2+1+2*RecordCount+1;
Cells[1,0]:='收費編號';
ColWidths[1]:=100;
Cells[2,0]:='姓名';
ColWidths[2]:=50;
Cells[ColCount-1,0]:='共余額';
ColWidths[ColCount-1]:=50;
a:=2;
while not EOF do
begin
a:=a+1;
Cells[A,0]:='應收'+FieldByName('費用科目').AsString;
Colwidths[a]:=80;
a:=a+1;
Cells[A,0]:='實收'+FieldByName('費用科目').AsString;
Colwidths[a]:=80;
Next;
end;
end;
//-------
Close;
SQL.Clear;
SQL.Add('Select Distinct 收費編號 From 常用費用');
SQL.Add('Where 收費編號 in (Select 房間編號 From 房屋信息表');
SQL.Add('Where 大樓編號=:A');
ParamByName('A').AsString:=ListBox1.Items.Strings[0];
For a:=1 to ListBox1.Items.Count-1 do
begin
ZDZ[a]:=ListBox1.Items.Strings[a];
SQL.Add('or 大樓編號='''+ZDZ[a]+'''');
//ParamByName('ZDZ[a]').AsString:=ListBox1.Items.Strings[a];
end;
SQL.Add(')');
SQL.Add('ORDER BY 收費編號 ASC');
Open;
SFYL.StringGrid1.RowCount:=SFYL.Query5.RecordCount+1;
//-------
Close;
SQL.Clear;
SQL.Add('Select * From 常用費用');
SQL.Add('Where 收費編號 in (Select 房間編號 From 房屋信息表');
SQL.Add('Where 大樓編號=:A');
ParamByName('A').AsString:=ListBox1.Items.Strings[0];
For a:=1 to ListBox1.Items.Count-1 do
begin
ZDZ[a]:=ListBox1.Items.Strings[a];
SQL.Add('or 大樓編號='''+ZDZ[a]+'''');
//ParamByName('ZDZ[a]').AsString:=ListBox1.Items.Strings[a];
end;
SQL.Add(')');
SQL.Add('ORDER BY 收費編號,費用科目 ASC');
Open;
FI:=FieldByName('收費編號').AsString;
while not EOf do
begin
if FI=FieldByName('收費編號').AsString then
begin
s:=s+FieldByName('剩余金額').AsFloat;
end
else
begin
s:=0;
FI:=FieldByName('收費編號').AsString;
end;
B:=SFYL.StringGrid1.Col;
C:=SFYL.STringGrid1.Row;
if FieldByName('收費編號').AsString<>SFYL.STringGrid1.Cells[1,c] then
begin
SFYL.STringGrid1.Cells[1,c]:=FieldByName('收費編號').AsString;
SFYL.StringGrid1.CElls[2,c]:=FieldbyName('戶主姓名').AsSTring;
end;
With SFYL.StringGrid1 do
begin
for a:=3 to ColCount-2 do
begin
b:=Col;
C:=Row;
if '應收'+FieldbyName('費用科目').AsString=Cells[a,0] then
begin
Cells[a,c]:=FieldByName('應收金額').AsString;
Cells[a+1,c]:=FieldByName('實收金額').AsString;
if a+1=ColCount-2 then
begin
SFYL.StringGrid1.Cells[ColCount-1,c]:=FloatToStr(s);
SFYL.StringGrid1.Col:=1;
if Row<>Rowcount-1 then
Row:=Row+1;
Break;
end
else Break;
end;
end;
end;
Next;
end;
end;
//--------------
//-----------------------------------------------------------------
ZDZ:=Nil;//釋放內存空間
CLose;
end;
end;
procedure TDLOptions.FormShow(Sender: TObject);
begin
DBLookupComboBox1.KeyValue:=Query1.FieldByName('小區名').AsString;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -