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

📄 goodtype.pas

📁 飞恒进销存(超市批发)管理系统V5.1(含源程序) 语言:Delphi 6/7 相关控件:FastReport 2.4以上, Ehlib 3.4以上 1.数据库为fhe2db_V51.da
💻 PAS
字号:
unit GoodType;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, edit, StdCtrls, Mask, DBCtrls, Buttons,db;

type
  TGoodTypeForm = class(TedtForm)
    Label1: TLabel;
    DEname: TDBEdit;
    procedure BtnPriorClick(Sender: TObject);
    procedure BtnNextClick(Sender: TObject);
    procedure BtnSaveClick(Sender: TObject);
    procedure BtnexitClick(Sender: TObject);
    procedure BtnaddClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
    oldType,oldCode:string;
  public
    { Public declarations }
    dsTmp:TDataSource;
    TypeId:integer;
  end;

var
  GoodTypeForm: TGoodTypeForm;

implementation
uses datamodule1;

{$R *.dfm}

procedure TGoodTypeForm.BtnPriorClick(Sender: TObject);
begin
  with dataE2 do
  case Typeid of
    0:   SetButtonPrior(dsType);
    1:   SetButtonPrior(dsType1);
    2:   SetButtonPrior(dsType2);
  end;
end;

procedure TGoodTypeForm.BtnNextClick(Sender: TObject);
begin
  //inherited;
  with dataE2 do
  case Typeid of
    0:   SetButtonNext(dsType);
    1:   SetButtonNext(dsType1);
    2:   SetButtonNext(dsType2);
  end;
end;

procedure TGoodTypeForm.BtnSaveClick(Sender: TObject);
begin
  inherited;
  //SetButtonSave(dsTmp);
  with dataE2 do
  case Typeid of
    0: if  tblType.State in [dsedit,dsinsert]  then
       begin
         tblType.Post;
         if tblType.FieldByName('Type').asstring<>oldType then
         begin
           //更新二类编码
           QueryTmp.Close;
           QueryTmp.SQL.Clear;
           QueryTmp.SQL.Add('Update GoodsType1 set Type=:Type where Type=:Type1');
           QueryTmp.Parameters[0].Value:=tblType.FieldByName('Type').asstring;
           QueryTmp.Parameters[1].Value:=oldType;
           QueryTmp.ExecSQL;
           tblType1.Close;
           tblType1.Open;
           //更新三类编码
           QueryTmp.Close;
           QueryTmp.SQL.Clear;
           QueryTmp.SQL.Add('Update GoodsType2 set Type=:Type where Type=:Type1');
           QueryTmp.Parameters[0].Value:=tblType.FieldByName('Type').asstring;
           QueryTmp.Parameters[1].Value:=oldType;
           QueryTmp.ExecSQL;
           tblType2.Close;
           tblType2.Open;
         end;
       end;
    1: if  tblType1.State in [dsedit,dsinsert]  then
       begin
         tblType1.Post;
         if tblType1.FieldByName('Code1').asstring<>oldCode then
         begin
           //更新三类编码
           QueryTmp.Close;
           QueryTmp.SQL.Clear;
           QueryTmp.SQL.Add('Update GoodsType2 set code1=:code where Type=:Type and code1=:code1');
           QueryTmp.Parameters[0].Value:=tblType1.FieldByName('Code1').asstring;
           QueryTmp.Parameters[1].Value:=tblType.FieldByName('Type').asstring;
           QueryTmp.Parameters[2].Value:=oldCode;
           QueryTmp.ExecSQL;
           tblType2.Close;
           tblType2.Open;
         end;
       end;
    2: if  tblType2.State in [dsedit,dsinsert]  then
         tblType2.Post;
  end;
  close;
end;

procedure TGoodTypeForm.BtnexitClick(Sender: TObject);
begin
  inherited;
  with dataE2 do
  case Typeid of
    0:   SetButtonCancel(dsType);
    1:   SetButtonCancel(dsType1);
    2:   SetButtonCancel(dsType2);
  end;
end;

procedure TGoodTypeForm.BtnaddClick(Sender: TObject);
begin
  inherited;
  with dataE2 do
  case Typeid of
    0:   SetButtonAdd(dsType);
    1:   SetButtonAdd(dsType1);
    2:   SetButtonAdd(dsType2);
  end;
end;

procedure TGoodTypeForm.FormShow(Sender: TObject);
begin
  inherited;
  with dataE2 do
  case Typeid of
    0:  begin DeNo.datasource:=nil;deno.dataField:='type';DeNo.datasource:=dstype;
              DeName.datasource:=dstype;
              ATableName:='goodsType';
              AFieldValue:='type';
              if tblType.State in [dsedit] then
                oldType:=tblType.FieldByName('Type').asstring; end;
    1:  begin DeNo.datasource:=nil;deno.dataField:='code1';DeNo.datasource:=dstype1;
              DeName.datasource:=dsType1;
              ATableName:='goodsType1';
              AFieldValue:='code1';
              if tblType1.State in [dsedit] then
                oldCode:=tblType1.FieldByName('Code1').asstring; end;
    2:  begin DeNo.datasource:=nil;deno.dataField:='code2';DeNo.datasource:=dstype2;
              DeName.datasource:=dsType2;
              ATableName:='goodsType2';
              AFieldValue:='code2'; end;
  end;
end;

end.

⌨️ 快捷键说明

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