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

📄 mc_dloptions.pas

📁 1、系统环境要求:所有程序均在Windows98/XP操作系统下测试运行。 2、建议用户在系统上安装DELPHI7.0企业版。 3、如果数据库为SQL Server数据库
💻 PAS
📖 第 1 页 / 共 2 页
字号:
                      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 + -