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

📄 sy_jypfx.pas

📁 省级集邮品管理ERP
💻 PAS
📖 第 1 页 / 共 3 页
字号:
{*******************************************************}
{                                                       }
{                   集邮品征订信息维护                  }
{                                                       }
{            中软金马公司版权所有。2002.12前            }
{                                                       }
{            编制:中软金马邮资票品项目开发组           }
{                                                       }
{                                                       }
{*******************************************************}
(*
本模块在省级集邮品系统管理模块里面调用。

*)
unit SY_JYPFX;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, DBTables, ComCtrls, Menus, ActnList, ImgList, ToolWin, StdCtrls,
  DBCtrls, Mask, DBCGrids, ExtCtrls, Buttons, Grids, DBGrids, ToolEdit,
  RXDBCtrl, extdlgs, Spin, RXCtrls; //, MyDBImage;


type
  old_mei = record
    old_mei_jhh: string;
    old_mei_mxh: string;
  end;
  TFrmY_jypfx = class(TForm)
    ActionList1: TActionList;
    Act_add: TAction;
    Act_delete: TAction;
    Act_modify: TAction;
    Act_save: TAction;
    Act_cancel: TAction;
    Act_exit: TAction;
    ImageList1: TImageList;
    Panel1: TPanel;
    BBt_add: TBitBtn;
    BBt_dte: TBitBtn;
    BBt_mfy: TBitBtn;
    BBt_sve: TBitBtn;
    BBt_cel: TBitBtn;
    BBt_rrn: TBitBtn;
    BBt_pnt: TBitBtn;
    DS_tao: TDataSource;
    Upd_tao: TUpdateSQL;
    Qry_tzdm: TQuery;
    DS_tzdm: TDataSource;
    DS_pplb: TDataSource;
    Qry_pplb: TQuery;
    Upd_mei: TUpdateSQL;
    DS_mei: TDataSource;
    Act_send: TAction;
    Panel2: TPanel;
    Panel3: TPanel;
    GBo_mei: TGroupBox;
    Label22: TLabel;
    Label25: TLabel;
    Label28: TLabel;
    Label33: TLabel;
    DBEdit13: TDBEdit;
    DBEdit15: TDBEdit;
    DBEdit16: TDBEdit;
    DBEdit21: TDBEdit;
    GBo_tao: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label7: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label13: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    DBEdit1: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit10: TDBEdit;
    DBLCbox_jyplb: TDBLookupComboBox;
    DBLCbox_tz: TDBLookupComboBox;
    DBDateEdit1: TDBDateEdit;
    Label42: TLabel;
    Label44: TLabel;
    Label45: TLabel;
    Label46: TLabel;
    Panel4: TPanel;
    Label34: TLabel;
    DBEdit9: TDBEdit;
    Label9: TLabel;
    DBEdit8: TDBEdit;
    Label50: TLabel;
    Qry_super: TQuery;
    Label23: TLabel;
    Panel7: TPanel;
    DBGid_tao: TDBGrid;
    DBGid_mei: TDBGrid;
    Splitter1: TSplitter;
    Panel8: TPanel;
    Panel9: TPanel;
    Panel10: TPanel;
    Qry_tao: TQuery;
    Qry_mei: TQuery;
    Qry_dw: TQuery;
    DS_dw: TDataSource;
    BitBtn1: TBitBtn;
    Qry_taoJHH: TStringField;
    Qry_taoND: TStringField;
    Qry_taoXH: TStringField;
    Qry_taoJYPLB: TStringField;
    Qry_taoTZDM: TStringField;
    Qry_taoDW: TStringField;
    Qry_taoTMC: TStringField;
    Qry_taoTJC: TStringField;
    Qry_taoQTMS: TFloatField;
    Qry_taoCB: TFloatField;
    Qry_taoQTSJ: TFloatField;
    Qry_taoFXRQ: TDateTimeField;
    Qry_taoJHFXL: TFloatField;
    Qry_taoFXDWDM: TStringField;
    Qry_taoFXDWMC: TStringField;
    Qry_taoPZR: TStringField;
    Qry_taoZBR: TStringField;
    Qry_taoZBRQ: TDateTimeField;
    Qry_taoBZ: TStringField;
    Qry_taoSDATEFX: TDateTimeField;
    Qry_meiJHH: TStringField;
    Qry_meiMXH: TFloatField;
    Qry_meiPPLB: TStringField;
    Qry_meiDW: TStringField;
    Qry_meiTUMC: TStringField;
    Qry_meiTUJC: TStringField;
    Qry_meiCB: TFloatField;
    Qry_meiSJ: TFloatField;
    Qry_meiJHFXL: TFloatField;
    Qry_meiBZ: TStringField;
    Qry_meiSDATEFX: TDateTimeField;
    XttxTitle: TRxLabel;
    DBEdit14: TDBEdit;
    Label20: TLabel;
    SpinEdit1: TSpinEdit;
    DWMC: TLabel;
    DBMemo1: TDBMemo;
    DBMemo2: TDBMemo;
    Label3: TLabel;
    DBLCbox_DL: TDBLookupComboBox;
    Qry_DL: TQuery;
    DS_DL: TDataSource;
    Label6: TLabel;
    DBEdit2: TDBEdit;
    procedure Act_addExecute(Sender: TObject);
    procedure Act_deleteExecute(Sender: TObject);
    procedure Act_modifyExecute(Sender: TObject);
    procedure Act_saveExecute(Sender: TObject);
    procedure Act_cancelExecute(Sender: TObject);
    procedure Act_exitExecute(Sender: TObject);
    procedure DBGid_taoEnter(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGid_taoMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Act_sendExecute(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure LoadBitmapToBlobField(const AField: TField);
    procedure SpinEdit1Change(Sender: TObject);
    procedure Qry_taoUpdateError(DataSet: TDataSet; E: EDatabaseError;
      UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction);
    procedure DBLCbox_jyplbCloseUp(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure DBLookupComboBox3Exit(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Qry_taoAfterOpen(DataSet: TDataSet);
    procedure Qry_taoCBGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
    procedure Qry_taoCBSetText(Sender: TField; const Text: string);
    procedure Qry_taoQTSJGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
    procedure Qry_taoQTSJSetText(Sender: TField; const Text: string);
    procedure Qry_meiCBGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
    procedure Qry_meiCBSetText(Sender: TField; const Text: string);
    procedure Qry_meiSJGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
    procedure Qry_meiSJSetText(Sender: TField; const Text: string);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Qry_taoAfterScroll(DataSet: TDataSet);
    procedure DBLCbox_DLCloseUp(Sender: TObject);
  private
    VLp_status: integer;
      //0......初始状态(浏览)
      //1......add编辑状态
      //2......查询结果浏览状态
      //3......edit编辑状态
    VLp_FocusGrid: TDBGrid;
      //.tag=0......套
      //.tag=1......枚
    vlp_stao_jhh: string[15];
    vlp_imei_mxh: integer;
    vlp_oldmeival: old_mei;
    vlp_s_errmsg: string;
    function CheckExit(): boolean;
    function ExistRecord(Tablenamestr, Conditionstr: string): boolean;
    procedure SetEditStatus(SubMod: integer; SelectedRowsCount: integer = 1);
      //0......初始状态(浏览)
      //1......编辑状态
      //2......查询结果浏览状态
    { Private declarations }
  public
    { Public declarations }
    function Execute(const DB: TDatabase): boolean;

  end;


var
  FrmY_jypfx: TFrmY_jypfx;

implementation

uses datas, pub;

{$R *.DFM}

function TFrmY_jypfx.CheckExit(): boolean;
begin
  result := true;
  if (VLp_status <> 0) then
    case CHQMsgBox('确定要放弃所做修改吗?', 3) of
      IDNo:
        begin
          Act_saveExecute(nil);
          if VLp_status = 0 then
          begin
            Qry_tao.Close;
            Qry_mei.Close;
            Qry_DL.Close;
            Qry_pplb.Close;
            Qry_tzdm.Close;
            Qry_super.Close;
          end
          else
            result := false;
        end;
      IDYes:
        begin
          Act_cancelExecute(nil);
          Qry_tao.Close;
          Qry_mei.Close;
          Qry_DL.Close;
          Qry_pplb.Close;
          Qry_tzdm.Close;
          Qry_super.Close;
        end;
      IDCancel:
        result := false;
    end
  else
  begin
    Qry_tao.Close;
    Qry_mei.Close;
    Qry_DL.Close;
    Qry_pplb.Close;
    Qry_tzdm.Close;
    Qry_super.Close;
  end;
end;

function TFrmY_jypfx.Execute(const DB: TDatabase): boolean;
begin
  Result := false;
  if not Assigned(DB) then
    exit;
  DWMC.Caption := '使用单位:' + VG_UnitName;
  try
    vlp_stao_jhh := '';
    vlp_imei_mxh := 0;
    vlp_FocusGrid := DBGid_tao;

    Qry_tao.Close;
    Qry_tao.DatabaseName := DB.DatabaseName;
    Qry_tao.Open;

    Qry_mei.Close;
    Qry_mei.DatabaseName := DB.DatabaseName;
    Qry_mei.Open;
    Qry_DL.Close;
    Qry_DL.DatabaseName := DB.DatabaseName;
    Qry_DL.Open;
    Qry_tzdm.Close;
    Qry_tzdm.DatabaseName := DB.DatabaseName;
    Qry_tzdm.Open;
    Qry_dw.Close;
    Qry_dw.DatabaseName := DB.DatabaseName;
    Qry_dw.Open;

    Qry_super.Close;
    Qry_super.DatabaseName := DB.DatabaseName;

    if not Qry_tao.IsEmpty then
      SpinEdit1.Text := Qry_tao.FieldByName('ND').AsString
    else
      SpinEdit1.Text := inttostr(SpinEdit1.MinValue);
    SetEditStatus(0);
    SpinEdit1Change(nil);
    if Qry_tao.IsEmpty then
      SpinEdit1.Text := inttostr(VG_Year)
    else
      SpinEdit1.Text := Qry_tao.FieldByName('ND').AsString;

    DBGid_taoEnter(DBGid_tao);

    Result := true;
  except
    CHQMsgBox('不能打开 <集邮品信息> 表 !');
    exit;
  end;
end;

function TFrmY_jypfx.ExistRecord(Tablenamestr, Conditionstr: string): boolean;
begin
  with Qry_super do
  begin
    CLose;
    SQL.Clear;
    SQL.Add('Select count(*) from ' + Tablenamestr + ' Where ' + Conditionstr);
    Open;
    ExistRecord := (Fields[0].Asinteger > 0);
  end;

end;


procedure TFrmY_jypfx.SetEditStatus(SubMod: integer; SelectedRowsCount: integer = 1);
//submod:
//0......初始状态(浏览)
//1......add编辑状态
//2......查询结果浏览状态
//3......edit编辑状态
//4......multiselected

var
  vl_b_tao, vl_b_mei: boolean;
  i: integer;
begin
//设置button状态
  SpinEdit1.ReadOnly := (SubMod <> 0);
  if (SubMod = 4) then
    if (SelectedRowsCount > 0) then
    begin

⌨️ 快捷键说明

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