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

📄 unit_rubb_repcard2.pas

📁 此代码为企业原料管理代码
💻 PAS
字号:
unit Unit_rubb_repcard2;

interface

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

type
  TForm_rubb_repcard2 = class(TForm)
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    Panel1: TPanel;
    BitBtn1: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit2: TEdit;
    Edit3: TEdit;
    DateTimePicker1: TDateTimePicker;
    Qry_exe: TQuery;
    bbinsert: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    Panel2: TPanel;
    Label6: TLabel;
    DBEdit2: TDBEdit;
    Label7: TLabel;
    DBEdit3: TDBEdit;
    Label8: TLabel;
    DBEdit4: TDBEdit;
    Label9: TLabel;
    Button1: TButton;
    DBMemo1: TDBMemo;
    Edit1: TEdit;
    Panel3: TPanel;
    Label5: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Edit4: TEdit;
    Edit5: TEdit;
    Button2: TButton;
    Button3: TButton;
    procedure BitBtn1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
   // procedure Edit2Change(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure bbinsertClick(Sender: TObject);
    procedure DBEdit2Enter(Sender: TObject);
    procedure DBEdit2Exit(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure Button1Click(Sender: TObject);
    //procedure DBEdit2Change(Sender: TObject);
    procedure DBMemo1Exit(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Edit3Enter(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
  private
    { Private declarations }
  public
    { Public declarations }
    sCode:string;
  end;

var
  Form_rubb_repcard2: TForm_rubb_repcard2;
   qw,i:integer;
   tiaojian :string;
implementation

uses Unit_Rubb_PrtRepCard2, Unit_Rubb_Main, UnitQueryID,
  Unit_Rubb_QryProcCard, Unit_Rubb_ProcCard;

{$R *.DFM}

procedure TForm_rubb_repcard2.BitBtn1Click(Sender: TObject);
begin
    if Form_Rubb_PrtRepCard2.table1.RecordCount=0 then
  begin
  DataSource1.DataSet:=Form_Rubb_PrtRepCard2.table1;
  showmessage('您选择的是'+inttostr(Form_Rubb_Main.Index1)+'号工艺卡'+#13+'此胶无自定义的报告单!');
  edit1.Text:=inttostr(Form_Rubb_Main.Index1);
  Edit2.text:=Form_Rubb_QryProcCard.Qry_QryProcCard.fieldbyname('制成品名称').asstring;
  edit3.Text:='';
  exit;
  end;
   if DataSource1.DataSet=Qry_exe then
   begin
   DataSource1.DataSet:=Form_Rubb_PrtRepCard2.table1;
   edit1.Text:=inttostr(Form_Rubb_Main.Index1);
   Edit2.text:=Form_Rubb_QryProcCard.Qry_QryProcCard.fieldbyname('制成品名称').asstring;
   edit3.Text:= Form_Rubb_PrtRepCard2.table1.fieldbyname('shiyanyuan').asstring;
   end;
   
  if DataSource1.State in [dsInsert] then
    Form_Rubb_PrtRepCard2.Table1.post;
   form_Rubb_PrtRepCard2.Table1.Active:=true;

  if not form_Rubb_PrtRepCard2.Table1.Active then
  begin
    showmessage('数据库没打开!');
    exit;
  end; //if

  //Form_Rubb_PrtRepCard2.QRLabel3.Caption:=edit1.text; //编号
  //Form_Rubb_PrtRepCard2.QRLabel14.Caption:=edit2.text; //产品名称
  Form_Rubb_PrtRepCard2.QRLabel2.Caption:=edit3.text;  //实验员
  Form_Rubb_PrtRepCard2.QRLabel11.Caption:=datetostr(DateTimePicker1.date);
  Form_Rubb_PrtRepCard2.Table1.active:=true;

  Form_Rubb_PrtRepCard2.QuickRep1.Preview;
//    FORM1.QuickRep1.Preview;
end;

procedure TForm_rubb_repcard2.FormCreate(Sender: TObject);
begin
  DateTimePicker1.date:=date;
end;
{
procedure TForm_rubb_repcard2.Edit2Change(Sender: TObject);
begin
  with Qry_exe do
  begin
    close;
    sql.clear;
    sql.add('select * from 原材料字典 where 简称 = :v_index ');
    parambyname('v_index').asstring:=edit2.text;
    open;
    if recordcount = 0 then exit;
    edit2.text:= fieldbyname('材料名称').asstring;
  end;//with

end;
 }
procedure TForm_rubb_repcard2.FormShow(Sender: TObject);
begin
   i:=0;
   BitBtn6.Enabled:=false; //提交
  with Form_Rubb_PrtRepCard2.Table1 do
  begin
  Filtered:=true;
  open;
  if recordcount <> 0 then
  begin
  edit1.Text:=inttostr(fieldbyname('bianhao').asinteger);
  edit2.text:=fieldbyname('胶料名称').asstring;
  edit3.text:=fieldbyname('shiyanyuan').asstring;
  DateTimePicker1.Date:=fieldbyname('shiyanrq').asdatetime;
  end
  else
  begin
   edit1.Text:=inttostr(Form_Rubb_Main.Index1);
   Edit2.text:=Form_Rubb_QryProcCard.Qry_QryProcCard.fieldbyname('制成品名称').asstring;
   DateTimePicker1.Date:=date;
   edit3.Text:='';
  end;
 end;
end;

procedure TForm_rubb_repcard2.BitBtn2Click(Sender: TObject);
begin
    Form_Rubb_PrtRepCard2.Table1.cancel;

end;

procedure TForm_rubb_repcard2.bbinsertClick(Sender: TObject);
 begin
   if (Edit3.Text='') then
  begin
    showmessage('请填写实验员姓名!');
    exit;
  end; //if
  if DataSource1.DataSet=Qry_exe then
  DataSource1.DataSet:=Form_Rubb_PrtRepCard2.table1;
  DBGrid1.Enabled:=false;
  bbinsert.Enabled:=false;
  BitBtn4.Enabled:=false;
  BitBtn5.Enabled:=false;
  BitBtn6.Enabled:=true;
  BitBtn1.Enabled:=false;
  i:=1;
  with  Form_Rubb_PrtRepCard2.table1 do
  begin
    //open;
    append;
    dbedit2.setfocus;
    fieldbyname('bianhao').asinteger:=Form_Rubb_Main.Index1;
    edit1.Text:=inttostr(Form_Rubb_Main.Index1);
    Edit2.text:=Form_Rubb_QryProcCard.Qry_QryProcCard.fieldbyname('制成品名称').asstring;
   end; //with

    //Form_Rubb_PrtRepCard2.table1.Close;
    // Form_Rubb_PrtRepCard2.table1 .open;
    Form_Rubb_PrtRepCard2.table1.disablecontrols;

end;

procedure TForm_rubb_repcard2.DBEdit2Enter(Sender: TObject);
begin
  if i<>1 then
  begin
  showmessage('请先按添加按钮!');
  exit;
  end;
  TDBedit(sender).color:=claqua;
end;

procedure TForm_rubb_repcard2.DBEdit2Exit(Sender: TObject);
begin
  TDBedit(sender).color:=clwindow;

end;

procedure TForm_rubb_repcard2.BitBtn4Click(Sender: TObject);
begin
   if Form_Rubb_PrtRepCard2.table1.RecordCount=0 then
  begin
  DataSource1.DataSet:=Form_Rubb_PrtRepCard2.table1;
  edit1.Text:=inttostr(Form_Rubb_Main.Index1);
  Edit2.text:=Form_Rubb_QryProcCard.Qry_QryProcCard.fieldbyname('制成品名称').asstring;
  edit3.Text:='';
  showmessage('您选择的是'+inttostr(Form_Rubb_Main.Index1)+'号工艺卡'+#13+'此胶无自定义的报告单!');
  exit;
  end;
  if DataSource1.DataSet=Qry_exe then
  begin
  DataSource1.DataSet:=Form_Rubb_PrtRepCard2.table1;
  edit1.Text:=inttostr(Form_Rubb_Main.Index1);
  Edit2.text:=Form_Rubb_QryProcCard.Qry_QryProcCard.fieldbyname('制成品名称').asstring;
  edit3.Text:= Form_Rubb_PrtRepCard2.table1.fieldbyname('shiyanyuan').asstring;
  showmessage('请重新选择要删除的记录!');
  exit;
  end;
   if qw<>1 then
  begin
  showmessage('请选择要删除的记录!');
  exit;
  end;
  if messagedlg('要删除所选的记录吗?',mtwarning,[mbok,mbNo],0) = mrNo then
    exit;
     begin
    qw:=0;   
    Form_Rubb_PrtRepCard2.table1.delete;
  //刷新表格
    Form_Rubb_PrtRepCard2.table1.Close;
    Form_Rubb_PrtRepCard2.table1.open;
     end; //if

end;

procedure TForm_rubb_repcard2.BitBtn5Click(Sender: TObject);
begin
  if Form_Rubb_PrtRepCard2.table1.RecordCount=0 then
  begin
  DataSource1.DataSet:=Form_Rubb_PrtRepCard2.table1;
  showmessage('您选择的是'+inttostr(Form_Rubb_Main.Index1)+'号工艺卡'+#13+'此胶无自定义的报告单!');
  edit1.Text:=inttostr(Form_Rubb_Main.Index1);
  Edit2.text:=Form_Rubb_QryProcCard.Qry_QryProcCard.fieldbyname('制成品名称').asstring;
  edit3.Text:='';
  exit;
  end;
  if DataSource1.DataSet=Qry_exe then
  begin
  DataSource1.DataSet:=Form_Rubb_PrtRepCard2.table1;
  edit1.Text:=inttostr(Form_Rubb_Main.Index1);
  Edit2.text:=Form_Rubb_QryProcCard.Qry_QryProcCard.fieldbyname('制成品名称').asstring;
  edit3.Text:= Form_Rubb_PrtRepCard2.table1.fieldbyname('shiyanyuan').asstring;
  showmessage('请重新选择要修改的记录!');
  exit;
  end;
  if qw<>1 then
  begin
  showmessage('请选择要修改的记录!');
  exit;
  end;
  DBGrid1.Enabled:=false;
  bbinsert.Enabled:=false;
  BitBtn4.Enabled:=false;
  BitBtn5.Enabled:=false; //修改
  BitBtn6.Enabled:=true; //提交
  BitBtn1.Enabled:=false;
 i:=1;
  with Form_Rubb_PrtRepCard2.table1 do
  begin
    edit;
    dbedit2.setfocus;
  end; //with
    Form_Rubb_PrtRepCard2.table1.disablecontrols;
  // Form_Rubb_PrtRepCard2.table1.Close;
  // Form_Rubb_PrtRepCard2.table1.open;
end;

procedure TForm_rubb_repcard2.BitBtn6Click(Sender: TObject);
begin
    if i=1 then
    begin
//限制其他按钮
  DBGrid1.Enabled:=true;
  bbinsert.Enabled:=true;
  BitBtn4.Enabled:=true;
  BitBtn5.Enabled:=true;
  BitBtn6.Enabled:=false;
  BitBtn1.Enabled:=true;
 // if (i=1) and(DBEdit2.text<>'') then
//begin
  with Form_Rubb_PrtRepCard2.table1 do
  begin
    open;
     fieldbyname('胶料名称').asstring:=Edit2.text;
     fieldbyname('shiyanyuan').asstring:=Edit3.text;
     fieldbyname('shiyanrq').asdatetime:=DateTimePicker1.Date;
    fieldbyname('主表标识号').asinteger:=Form_Rubb_Main.Index;
    Post;
    bbinsert.setfocus;
  end; //with
   Form_Rubb_PrtRepCard2.table1.enablecontrols;
  // Form_Rubb_PrtRepCard2.table1.close;
   //Form_Rubb_PrtRepCard2.table1.open;
   Form_Rubb_PrtRepCard2.table1.refresh;
  // perform(WM_NEXTDLGCTL,0,0);
    DBEdit2.text:='';
    DBEdit3.text:='';
    DBEdit4.text:='';
    DBMemo1.text:='';
   end;
   i:=0;
   qw:=0;
    // Form_Rubb_PrtRepCard2.table1.active:=false;
 end;

procedure TForm_rubb_repcard2.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then
  begin
    key:=#0;
    perform(WM_NEXTDLGCTL,0,0);
  end; //if

end;

procedure TForm_rubb_repcard2.Button1Click(Sender: TObject);
begin
  
  close;
end;
{
procedure TForm_rubb_repcard2.DBEdit2Change(Sender: TObject);
begin
 BitBtn6.Enabled:=true;
end;
}
procedure TForm_rubb_repcard2.DBMemo1Exit(Sender: TObject);
begin
  BitBtn6.SetFocus;
  TDBedit(sender).color:=clwindow;
end;

procedure TForm_rubb_repcard2.Button2Click(Sender: TObject);
begin
 if (Edit4.text='') or (Edit5.text='') then
   begin
   showmessage('请输入要查询的报告单编号范围!');
   exit;
   end;
   //Form_Rubb_PrtRepCard2.table1.Close;
   // Form_Rubb_PrtRepCard2.table1.Filtered:=true;
   // Form_Rubb_PrtRepCard2.table1.open;
    //Form_Rubb_PrtRepCard2.table1.first;
    DataSource1.DataSet:=Qry_exe;
    with Qry_exe do
    begin
     close;
    sql.Clear;
    sql.Add('select * from 炼胶指标报告单2 where bianhao >= :v1 and  bianhao <= :v2 order by bianhao');
    parambyname('v1').asinteger:=strtoint(edit4.text);
    parambyname('v2').asinteger:=strtoint(edit5.text);
    open;
    first;
    if recordcount = 0 then
    begin
    showmessage('无技术指标报告单!');
    exit;
    end;
    edit1.text:=inttostr(Qry_exe.fieldbyname('bianhao').asinteger);
    edit2.text:=Qry_exe.fieldbyname('胶料名称').asstring;
    edit3.text:=Qry_exe.fieldbyname('shiyanyuan').asstring;
    DateTimePicker1.date:=Qry_exe.fieldbyname('shiyanrq').asdatetime;
   end;
  end;
procedure TForm_rubb_repcard2.Button3Click(Sender: TObject);
begin
  if (Edit4.text='') or (Edit5.text='') then
   begin
   showmessage('请输入要删除的报告单编号范围!');
   exit;
   end;
  // if messagedlg('会删除该 '+Qry_Qry.fieldbyname('材料名称').asstring+' 的记录 要继续吗?',mtWarning,[mbYes,mbNo],0) = mrNo then
   // exit;
  if messagedlg('要删除所选范围的这些记录吗?',mtwarning,[mbok,mbNo],0) = mrok then
   begin
   DataSource1.DataSet:=Qry_exe;
    with Qry_exe do
    begin
     close;
    sql.Clear;
    sql.Add('delete from 炼胶指标报告单2 where bianhao >= :v1 and  bianhao <= :v2 ');
    parambyname('v1').asinteger:=strtoint(edit4.text);
    parambyname('v2').asinteger:=strtoint(edit5.text);
    execsql;
     close;
    sql.Clear;
    sql.Add('select * from 炼胶指标报告单2 where bianhao >= :v1 and  bianhao <= :v2 order by bianhao');
    parambyname('v1').asinteger:=strtoint(edit4.text);
    parambyname('v2').asinteger:=strtoint(edit5.text);
    open;
    end;

 // with Form_Rubb_PrtRepCard2.table1 do
 // begin
  //Filtered:=Active;
   // with tableone do begin
 // first;
  //while not eof do
  //delete;
  //next;
  //end; //with
  end;
  edit1.text:='';
  edit2.text:='';
  edit3.text:='';
  Form_Rubb_PrtRepCard2.table1.Refresh;
 end;
procedure TForm_rubb_repcard2.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   try
   if ((Key>57) and (Key<48)) or ((Key<96) and (Key>110)) then
 // exit;
  //if Key=190 then
  exit;
  except
  end;
 end;
procedure TForm_rubb_repcard2.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Form_Rubb_PrtRepCard2.Table1.Filtered:=false;
  Form_Rubb_PrtRepCard2.Table1.active:=false;
  Form_Rubb_PrtRepCard2.table1.close;
  Form_Rubb_ProcCard.close;
  close;
end;

procedure TForm_rubb_repcard2.Edit3Enter(Sender: TObject);
begin

    FrmcommqueryID.PageControl1.ActivePageIndex:=0;
    FrmcommqueryID.ActiveControl:=FrmcommqueryID.estaffID;
    if  FrmcommqueryID.showmodal=mrok then
    begin
      Edit3.text:=FrmcommqueryID.query3.fieldbyname('staffname').asstring;
   end;
end;

procedure TForm_rubb_repcard2.DBGrid1CellClick(Column: TColumn);
begin
  if DataSource1.DataSet=Qry_exe then
  begin
   edit1.Text:=inttostr(Qry_exe.fieldbyname('bianhao').asinteger);
  edit2.text:=Qry_exe.fieldbyname('胶料名称').asstring;
  edit3.text:=Qry_exe.fieldbyname('shiyanyuan').asstring;
  DateTimePicker1.Date:=Qry_exe.fieldbyname('shiyanrq').asdatetime;
  end
  else
  begin
  qw:=1;
  edit1.Text:=inttostr(Form_Rubb_PrtRepCard2.table1.fieldbyname('bianhao').asinteger);
  edit2.text:=Form_Rubb_PrtRepCard2.table1.fieldbyname('胶料名称').asstring;
  edit3.text:=Form_Rubb_PrtRepCard2.table1.fieldbyname('shiyanyuan').asstring;
  DateTimePicker1.Date:=Form_Rubb_PrtRepCard2.table1.fieldbyname('shiyanrq').asdatetime;
 end;
end;

end.

⌨️ 快捷键说明

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