📄 unit_rubb_repcard2.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 + -