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

📄 khqygl.~pas

📁 delphi开发的完整的客户管理系统(带数据库)
💻 ~PAS
字号:
unit khqygl;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls;

type
  TForm23 = class(TForm)
    Panel2: TPanel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn6: TBitBtn;
    BitBtn7: TBitBtn;
    BitBtn8: TBitBtn;
    Panel1: TPanel;
    Panel3: TPanel;
    Label1: TLabel;
    Label3: TLabel;
    Label7: TLabel;
    Label10: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Edit3: TEdit;
    Edit1: TEdit;
    ComboBox1: TComboBox;
    Edit2: TEdit;
    Label5: TLabel;
    Label2: TLabel;
    Label8: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label9: TLabel;
    Label6: TLabel;
    Label4: TLabel;
    procedure FormShow(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure Edit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    Procedure Clear;
    Procedure EditValue;
    Procedure ShowEdit;
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit3KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ComboBox1Change(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure Edit3Change(Sender: TObject);
    procedure Edit2Change(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form23: TForm23;
  aa: Boolean = False; //保存按钮是否可用
implementation
  uses Data2;
{$R *.dfm}

procedure TForm23.FormShow(Sender: TObject);
begin
  with datam.ADOQuery2 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select * from 客户区域表');
    Open;
  end;
  If datam.ADOQuery2.FieldByName('区域代码').Value = null then
  begin
    Application.MessageBox('该表数据为空,请向该表中插入数据。','提示',64);
    BitBtn6.Enabled := False;
    BitBtn7.Enabled := False;
    BitBtn1.Enabled := False;
    BitBtn2.Enabled := False;
  end
  else
  begin
    Clear;
    EditValue;
  end;
end;

procedure TForm23.BitBtn3Click(Sender: TObject);
var
  s,m: String;
  i: integer;
begin
  s:= 'A'+ FormatDateTime('yyyymmdd',Now());
  With datam.ADOQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select max(区域代码) as ss From 客户区域表 ');
    Open;
  end;
  If datam.ADOQuery1.FieldByName('ss').Value = null then
    s := s + '001'
  else
  begin
    m:= Trim(datam.ADOQuery1.FieldByName('ss').Value) ;
    i:= StrToInt(Trim(Copy(m,10,5))) ;
    if i<9 then
      s:= s + '00'+ InttoStr(i +1)
    else if i<99 then
      s:= s + '0'+ InttoStr(i +1)
    else
      s:= s +InttoStr(i +1);
  end;
  Label4.Caption := Trim(s);
  aa:= True;
  BitBtn6.Enabled := False;
  ComboBox1.Text := '';
  Edit1.Enabled := False;
  Edit2.Clear;
  Edit2.Enabled := True;
  Edit2.SetFocus;
  Edit3.Enabled := False;
  ComboBox1.Enabled := False;
  Edit1.Clear;
  Edit3.Clear;
  Label6.Caption := '';
  Label9.Caption := '';
  Label12.Caption := '';
  Label14.Caption := '';
end;
procedure TForm23.Edit2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_ReTurn then
    if Trim(Edit2.Text)<>'' then
    begin
      ComboBox1.Enabled := True;
      ComboBox1.SetFocus;
    end;
end;

procedure TForm23.ComboBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  s,m: String;
  i: integer;
begin
  if Key = VK_ReTurn then
    if Trim(ComboBox1.Text)<> '' then
    begin
      with datam.ADOQuery1 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('select * from 客户区域表 where 省级名称 = :a');
        Parameters.ParamByName('a').Value := Trim(ComboBox1.Text);
        Open;
      end;
      if datam.ADOQuery1.RecordCount>0 then
      begin
        Label6.Caption :=  datam.ADOQuery1.FieldByName('省级代码').Value;
        Edit1.Enabled := True;
        Edit1.SetFocus;
        BitBtn4.Enabled := True;
      end
      else
      begin
        s:= 'P'+ FormatDateTime('yyyymm',Now());
        With datam.ADOQuery1 do
        begin
          Close;
          SQL.Clear;
          SQL.Add('select max(省级代码) as ss From 客户区域表 ');
          Open;
        end;
        If datam.ADOQuery1.FieldByName('ss').Value = null then
          s := s + '001'
        else
        begin
          m:= Trim(datam.ADOQuery1.FieldByName('ss').Value) ;
          i:= StrToInt(Trim(Copy(m,8,10))) ;
          if i<9 then
            s:= s + '00'+ InttoStr(i +1)
          else if i<99 then
            s:= s + '0'+ InttoStr(i +1)
          else
            s:= s +InttoStr(i +1);
        end;
        Label6.Caption := s;
        if (Trim(Label9.Caption)='')and(Trim(Label12.Caption)='')then
          Label14.Caption := '省级代理';
        Edit1.Enabled := True;
        Edit1.SetFocus;
        BitBtn4.Enabled := True;
      end;
    end;
end;

procedure TForm23.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  s,m: String;
  i: integer;
begin
  if Key = VK_ReTurn then
    if Trim(Edit1.Text)<> '' then
    begin
      with datam.ADOQuery1 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('select * from 客户区域表 where 地区名称 = :a');
        Parameters.ParamByName('a').Value := Trim(Edit1.Text);
        Open;
      end;
      if datam.ADOQuery1.RecordCount>0 then
        Label9.Caption :=  datam.ADOQuery1.FieldByName('地区代码').Value
      else
      begin
        s:= 'S'+ FormatDateTime('yyyymm',Now());
        With datam.ADOQuery1 do
        begin
          Close;
          SQL.Clear;
          SQL.Add('select max(地区代码) as ss From 客户区域表 ');
          Open;
        end;
        If datam.ADOQuery1.FieldByName('ss').Value = null then
          s := s + '001'
        else
        begin
          m:= Trim(datam.ADOQuery1.FieldByName('ss').Value) ;
          i:= StrToInt(Trim(Copy(m,8,10))) ;
          if i<9 then
            s:= s + '00'+ InttoStr(i +1)
          else if i<99 then
            s:= s + '0'+ InttoStr(i +1)
          else
            s:= s +InttoStr(i +1);
        end;
        Label9.Caption := s;
      end;
      Label14.Caption := '市级代理';
      Edit3.Enabled := True;
      Edit3.SetFocus;
    end;
  if Key = VK_Up then
    if ComboBox1.Enabled = True then
      ComboBox1.SetFocus;
end;

procedure TForm23.Edit3KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  s,m: String;
  i: integer;
begin
  if Key = VK_ReTurn then
    if Trim(Edit3.Text)<> '' then
    begin
      with datam.ADOQuery1 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('Select * from 客户区域表 where 县级名称 = :a');
        Parameters.ParamByName('a').Value := Trim(Edit3.Text);
        Open;
      end;
      if datam.ADOQuery1.RecordCount>0 then
        Label12.Caption :=  datam.ADOQuery1.FieldByName('县级代码').Value
      else
      begin
        s:= 'X'+ FormatDateTime('yyyymm',Now());
        With datam.ADOQuery1 do
        begin
          Close;
          SQL.Clear;
          SQL.Add('select max(县级代码) as ss From 客户区域表 ');
          Open;
        end;
        If (Trim(datam.ADOQuery1.FieldByName('ss').Value) = null)or(Trim(datam.ADOQuery1.FieldByName('ss').Value)='') then
          s := s + '001'
        else
        begin
          m:= Trim(datam.ADOQuery1.FieldByName('ss').Value) ;
          i:= StrToInt(Trim(Copy(m,8,10))) ;
          if i<9 then
            s:= s + '00'+ InttoStr(i +1)
          else if i<99 then
            s:= s + '0'+ InttoStr(i +1)
          else
            s:= s +InttoStr(i +1);
        end;
        Label12.Caption := s;
      end;
      Label14.Caption := '县级代理';
    end;
  if Key = Vk_up then
    if Edit1.Enabled = True then
      Edit1.SetFocus;
end;

procedure TForm23.ComboBox1Change(Sender: TObject);
begin
  Edit1.Clear;
  Edit3.Clear;
  Label14.Caption := '';
  Label6.Caption := '';
  Label9.Caption := '';
  Label12.Caption := '';
  BitBtn4.Enabled := False;
end;

procedure TForm23.Edit1Change(Sender: TObject);
begin
  Edit3.Clear;
  Label14.Caption := '省级代理';
  Label9.Caption := '';
  Label12.Caption := '';
end;

procedure TForm23.Edit3Change(Sender: TObject);
begin
  Label14.Caption := '市级代理';
  Label12.Caption := '';
end;

procedure TForm23.Edit2Change(Sender: TObject);
begin
  Edit1.Enabled := False;
  Edit3.Enabled := False;
  Edit1.Clear;
  Edit3.Clear;
  Label14.Caption := '';
  Label6.Caption := '';
  Label9.Caption := '';
  Label12.Caption := '';
end;

procedure TForm23.BitBtn4Click(Sender: TObject);
begin
  if Trim(Label14.Caption)<>'' then
  begin
    Try
      With datam.ADOQuery1 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('Insert 客户区域表 values (:a ,:b ,:c,:d,:e,:f,:g,:h,:i)');
        Parameters.ParamByName('a').Value := Trim(Label4.Caption);
        Parameters.ParamByName('b').Value := Trim(Edit2.Text);
        Parameters.ParamByName('c').Value := Trim(Label6.Caption);
        Parameters.ParamByName('d').Value := Trim(Combobox1.Text);
        Parameters.ParamByName('e').Value := Trim(Label9.Caption);
        Parameters.ParamByName('f').Value := Trim(Edit1.Text);
        Parameters.ParamByName('g').Value := Trim(Label12.Caption);
        Parameters.ParamByName('h').Value := Trim(Edit3.Text);
        if Trim(Label14.Caption)='省级代理' then
          Parameters.ParamByName('i').Value := 1
        else if Trim(Label14.Caption)='市级代理' then
          Parameters.ParamByName('i').Value := 2
        else
          Parameters.ParamByName('i').Value := 3;
        ExecSQL;
      end;
      Application.MessageBox('添加成功。','提示',64);
      BitBtn7.OnClick(Sender);
    Except
      Application.MessageBox('系统出错。','提示',64);
      Close;
    end;
  end;
end;

procedure TForm23.Clear;
begin
  Edit2.Clear;
  Edit1.Enabled := False;
  Edit3.Enabled := False;
  ComboBox1.Enabled := False;
  Edit2.Enabled := False;
  Edit1.Clear;
  Edit3.Clear;
  Label4.Caption := '';
  Label6.Caption := '';
  Label9.Caption := '';
  Label12.Caption := '';
  Label14.Caption := '';
  BitBtn4.Enabled := False;
end;

procedure TForm23.EditValue;
begin
  Clear;
  if datam.ADOQuery2.FieldByName('区域代码').Value <> null then
  begin
    Edit2.Text :=  datam.ADOQuery2.FieldByName('区域名称').Value;
    Label4.Caption := datam.ADOQuery2.FieldByName('区域代码').Value;
    ComboBox1.Text := datam.ADOQuery2.FieldByName('省级名称').Value;
    Label6.Caption := datam.ADOQuery2.FieldByName('省级代码').Value;
    Edit1.Text :=  datam.ADOQuery2.FieldByName('地区名称').Value;
    Label9.Caption := datam.ADOQuery2.FieldByName('地区代码').Value;
    Edit3.Text :=  datam.ADOQuery2.FieldByName('县级名称').Value;
    Label12.Caption := datam.ADOQuery2.FieldByName('县级代码').Value;
    if datam.ADOQuery2.FieldByName('区域级别').Value=1 then
      Label14.Caption := '省级代理'
    else if datam.ADOQuery2.FieldByName('区域级别').Value= 2 then
      Label14.Caption := '市级代理'
    else
      Label14.Caption := '县级代理';
  end
  else
    Clear;
end;

procedure TForm23.BitBtn1Click(Sender: TObject);
begin
  if Not datam.ADOQuery2.Bof  then
  begin
    datam.ADOQuery2.Prior;
    EditValue;
  end
  else
    BitBtn1.Enabled := False;
    BitBtn2.Enabled := True;
    BitBtn6.Enabled := True;
end;

procedure TForm23.BitBtn2Click(Sender: TObject);
begin
  if Not datam.ADOQuery2.Eof then
  begin
    datam.ADOQuery2.Next;
    EditValue;
  end
  else
    BitBtn2.Enabled := False;
  BitBtn1.Enabled := True;
  BitBtn6.Enabled := True;
end;

procedure TForm23.ShowEdit;
begin
with datam.ADOQuery2 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select * from 客户区域表');
    Open;
  end;
  EditValue;
end;

procedure TForm23.BitBtn7Click(Sender: TObject);
begin
  Clear;
  ShowEdit;
  BitBtn6.Enabled := True;
  BitBtn2.Enabled := True;
end;

procedure TForm23.BitBtn6Click(Sender: TObject);
begin
  if Application.MessageBox(Pchar('确实要删除区域代码为' + Trim(Label4.Caption)+ '的区域信息吗?'),'提示',MB_YesNO) = Id_Yes then
  begin
    Try
      with datam.ADOQuery1 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('delete 客户区域表 where 区域代码 = :a');
        Parameters.ParamByName('a').Value := Trim(Label4.Caption);
        ExecSQL;
      end;
      Application.MessageBox('删除成功。','提示',64);
      BitBtn7.OnClick(Sender);
    Except
      Application.MessageBox('系统出错。','提示',64);
      Close;
    end;
  end;
end;

procedure TForm23.BitBtn1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  TBitBtn(Sender).Font.Color := clRed;
end;

procedure TForm23.BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  TBitBtn(Sender).Font.Color := clBlue;
end;

end.

⌨️ 快捷键说明

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