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

📄 mc_yzxxll.~pas

📁 1、系统环境要求:所有程序均在Windows98/XP操作系统下测试运行。 2、建议用户在系统上安装DELPHI7.0企业版。 3、如果数据库为SQL Server数据库
💻 ~PAS
字号:
unit MC_YZXXLL;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, DBCtrls, Mask, ComCtrls, Grids, DBGrids, ExtCtrls, Buttons, Db,
  DBTables;

type
  TYZXXLL = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    GroupBox2: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Edit1: TEdit;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    DateTimePicker3: TDateTimePicker;
    DateTimePicker4: TDateTimePicker;
    Edit2: TEdit;
    ComboBox1: TComboBox;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    ComboBox2: TComboBox;
    Label7: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Panel1: TPanel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    DataSource1: TDataSource;
    Query1: TQuery;
    Query2: TQuery;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Edit3: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    Edit10: TEdit;
    Edit11: TEdit;
    Query3: TQuery;
    Query4: TQuery;
    procedure BitBtn1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn2Click(Sender: TObject);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  YZXXLL: TYZXXLL;

implementation

uses MC_YZXXDJ, MC_Data;

{$R *.DFM}


procedure TYZXXLL.BitBtn2Click(Sender: TObject);  //保存业主信息
begin
 if (Length(Edit2.Text)=0) or(Length(Edit3.Text)=0) or(Length(Edit4.Text)=0) or
    (Length(Edit5.Text)=0) or(Length(Edit6.Text)=0) or (Length(Edit7.Text)=0) then
  begin
    ShowMessage('请将数据添全');
    Exit;
  End
 Else
 If (DateTimePicker3.Date >= DateTimePicker2.Date) Or (DateTimePicker2.Date >= DateTimePicker4.Date) Then
   begin
     DateTimePicker2.Date:=DateTimePicker4.Date;
   end;
   if ComboBox2.Text='已进住' then
   begin
    //加水费信息
    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('Insert 水费(水表编号,户主姓名,收费标准,收费金额,计费起始日期,本月读数,上月读数,使用数,应收金额,实收金额,剩余金额)');
    Query1.SQL.Add('Values(:A,:B,:C,0,:D,0,0,0,0,0,0)');
    Query1.ParamByName('A').AsString:=Label22.Caption;
    Query1.ParamByName('B').AsString:=Edit2.Text;
    Query1.ParamByName('C').AsString:='空';
    Query1.ParamByName('D').AsDateTime:=DateTimePicker2.Date;
    Query1.ExecSQL;
    //加电费信息
    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('Insert 电费(电表编号,户主姓名,收费标准,收费金额,计费起始日期,本月读数,上月读数,使用数,应收金额,实收金额,剩余金额)');
    Query1.SQL.Add('Values(:A,:B,:C,0,:D,0,0,0,0,0,0)');
    Query1.ParamByName('A').AsString:=Label22.Caption;
    Query1.ParamByName('B').AsString:=Edit2.Text;
    Query1.ParamByName('C').AsString:='空';
    Query1.ParamByName('D').AsDateTime:=DateTimePicker2.Date;
    Query1.ExecSQL;
    //加煤气费信息
    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('Insert 煤气费(煤气表编号,户主姓名,收费标准,收费金额,计费起始日期,本月读数,上月读数,使用数,应收金额,实收金额,剩余金额)');
    Query1.SQL.Add('Values(:A,:B,:C,0,:D,0,0,0,0,0,0)');
    Query1.ParamByName('A').AsString:=Label22.Caption;
    Query1.ParamByName('B').AsString:=Edit2.Text;
    Query1.ParamByName('C').AsString:='空';
    Query1.ParamByName('D').AsDateTime:=DateTimePicker2.Date;
    Query1.ExecSQL;
    //加采暖费信息
    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('Insert 采暖费(采暖费编号,户主姓名,建筑面积)');
    Query1.SQL.Add('Values(:A,:B,:C)');
    Query1.ParamByName('A').AsString:=Label22.Caption;
    Query1.ParamByName('B').AsString:=Edit2.Text;
    Query1.ParamByName('C').AsFloat:=YZXXDJ.Table2.FieldByName('建筑面积').AsFloat;
    Query1.ExecSQL;
    //加其他费用
    Query4.Close;
    Query4.SQL.Clear;
    Query4.SQL.Add('Select DisTinct 费用科目 ,标准金额 From 其它费用表');
    Query4.Open;
    If Query4.RecordCount = 0 Then    //如果无其他收费项目
    begin
      Query3.First;  //移到其他科目第一条记录
      while Not Query3.Eof do   //添加所有其他科目
      begin
      Query1.CLose;
      Query1.SQL.Clear;
      Query1.SQL.Add('Insert 其它费用表(收费编号,户主姓名,建筑面积,使用面积,公有面积,私有面积,标准名称,标准金额,费用科目,收费金额,计费起始日期,应收金额,实收金额,剩余金额,减免金额,原因)');
      Query1.SQL.Add('Values(:A,:B,:C,:D,:E,:F,:G,:H,:I,0,:K,0,0,0,0,:R)');
      Query1.ParamByName('A').AsString:=Label22.Caption;
      Query1.ParamByName('B').AsString:=Edit2.Text;
      Query1.ParamByName('C').AsFloat:=YZXXDJ.Table2.FieldByName('建筑面积').AsFloat;
      Query1.ParamByName('D').AsFloat:=YZXXDJ.Table2.FieldByName('使用面积').AsFloat;
      Query1.ParamByName('E').AsFloat:=YZXXDJ.Table2.FieldByName('公产面积').AsFloat;
      Query1.ParamByName('F').AsFloat:=YZXXDJ.Table2.FieldByName('私产面积').AsFloat;
      Query1.ParamByName('G').AsString:='空';
      Query1.ParamByName('H').AsFloat:=Query3.FieldByName('费用标准').AsFloat;
      Query1.ParamByName('I').AsString:=Query3.FieldByName('科目名').AsString;
      Query1.ParamByName('K').AsDateTime:=DateTimePicker2.Date;
      Query1.ParamByName('R').AsString:='空';
      Query1.ExecSQL;
      Query3.Next;
      End;
    End
    Else   //如果有其他收费项目
    begin
      Query4.First;
      While not Query4.Eof do    //添加所有收费项目
      begin
        Query1.Close;
        Query1.SQL.clear;
        Query1.SQL.Add('Insert 其它费用表(收费编号,户主姓名,建筑面积,使用面积,公有面积,私有面积,标准名称,标准金额,费用科目,收费金额,计费起始日期,应收金额,实收金额,剩余金额,减免金额,原因)');
        Query1.SQL.Add('Values(:A,:B,:C,:D,:E,:F,:G,:H,:I,0,:K,0,0,0,0,:R)');
        Query1.ParamByName('A').AsString:=Label22.Caption;
        Query1.ParamByName('B').AsString:=Edit2.Text;
        Query1.ParamByName('C').AsFloat:=YZXXDJ.Table2.FieldByName('建筑面积').AsFloat;
        Query1.ParamByName('D').AsFloat:=YZXXDJ.Table2.FieldByName('使用面积').AsFloat;
        Query1.ParamByName('E').AsFloat:=YZXXDJ.Table2.FieldByName('公产面积').AsFloat;
        Query1.ParamByName('F').AsFloat:=YZXXDJ.Table2.FieldByName('私产面积').AsFloat;
        Query1.ParamByName('G').AsString:='空';
        Query1.ParamByName('H').AsFloat:=Query4.FieldByName('标准金额').AsFloat;
        Query1.ParamByName('I').AsString:=Query4.FieldByName('费用科目').AsString;
        Query1.ParamByName('K').AsDateTime:=DateTimePicker2.Date;
        Query1.ParamByName('R').AsString:='空';
        Query1.ExecSQL;
        Query4.Next;
      end;
    end;
    Query4.Close;
    Query4.SQL.Clear;
    Query4.SQL.Add('Select DisTinct 费用科目 ,收费金额 From 常用费用');
    Query4.Open;
    If Query4.RecordCount = 0 Then  //如果无常用费用
    begin
      Query2.First;  //移到收费科目第一条记录
      While not Query2.Eof do    //添加所有费用科目
      begin  //添加常用收费
        Query1.close;
        Query1.SQL.clear;
        Query1.SQL.Add('Insert 常用费用(收费编号,户主姓名,费用科目,收费金额,计费起始日期,应收金额,实收金额,剩余金额)');
        Query1.SQL.Add('Values(:A,:B,:C,:D,:E,0,0,0)');
        Query1.ParamByName('A').AsString:=Label22.Caption;
        Query1.ParamByName('B').AsString:=Edit2.Text;
        Query1.ParamByName('C').AsString:=Query2.fieldByname('科目名').AsString;
        Query1.ParamByName('D').AsFloat:=Query2.fieldByname('费用标准').asFloat;
        Query1.ParamByName('E').AsDateTime:=DateTimePicker2.Date;
        query1.ExecSQL;
        Query2.Next;
      end;
    End
    Else  //如果有常用费用
    begin
     Query4.First;   //移到常用费用表的第一条记录
     While not Query4.Eof do   //添加所有常用收费项目
     begin
       Query1.Close;
       Query1.SQL.Clear;
       Query1.SQL.Add('Insert 常用费用(收费编号,户主姓名,费用科目,收费金额,计费起始日期,应收金额,实收金额,剩余金额)');
       Query1.SQL.Add('Values(:A,:B,:C,:D,:E,0,0,0)');
       Query1.ParamByName('A').AsString:=Label22.Caption;
       Query1.ParamByName('B').AsString:=Edit2.Text;
       Query1.ParamByName('C').AsString:=Query4.fieldByname('费用科目').AsString;
       Query1.ParamByName('D').AsFloat:=Query4.fieldByname('收费金额').asFloat;
       Query1.ParamByName('E').AsDateTime:=DateTimePicker2.Date;
       Query1.ExecSQL;
       Query4.Next;
     end;
    end;
    end;
    //结束已进住操作
      YZXXDJ.Table3.InsertRecord([Edit1.Text,Edit2.Text,ComboBox1.Text,Edit4.Text
        ,Edit3.Text,Edit8.Text,Edit10.Text,Edit11.Text,Edit5.Text,Edit9.Text
        ,DateTimePicker1.Date,DateTimePicker2.Date,DateTimePicker3.Date,DateTimePicker4.Date
        ,ComboBox2.Text,Edit7.Text,Edit6.Text,Label22.Caption,Label19.Caption,Label20.Caption
        ,Label21.Caption]);
     YZXXDJ.Table3.RefResh;
     YZXXDJ.Table2.Edit; //修改业主信息
     YZXXDJ.Table2.FieldByName('房主代号').AsString:=Label22.Caption;
     YZXXDJ.Table2.FieldByName('房主姓名').AsString:=Edit2.Text;
     YZXXDJ.Table2.FieldByName('是否空闲').AsString:='居住';
     YZXXDJ.Table2.FieldByName('房屋状态').AsString:='居住中';
     YZXXDJ.Table2.Post;
     YZXXDJ.Table2.Refresh;
     Close;
end;

procedure TYZXXLL.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
 if Key=#13 then PerForm(WM_NEXTDLGCTL,0,0); //跳转焦点
end;

procedure TYZXXLL.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then  PerForm(WM_NEXTDLGCTL,0,0);   //跳转焦点
end;
procedure TYZXXLL.BitBtn1Click(Sender: TObject);
begin
 close;
end;

procedure TYZXXLL.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 YZXXLL.Release;
 YZXXLL:=Nil;
end;
end.


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -