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