📄 recipeypquerym.pas
字号:
unit RecipeYpQueryM;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DBCtrls, ComCtrls, ExtCtrls, ToolWin, StdCtrls, Grids, DBGrids, Spin,
ImgList;
type
TRecipeYpQuery = class(TForm)
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
Panel2: TPanel;
DateTimePicker3: TDateTimePicker;
DateTimePicker1: TDateTimePicker;
DateTimePicker4: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
Label4: TLabel;
Label5: TLabel;
Panel3: TPanel;
ToolBar2: TToolBar;
Panel5: TPanel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
ToolBar3: TToolBar;
Panel1: TPanel;
Label1: TLabel;
Box1: TDBLookupComboBox;
ToolBar4: TToolBar;
Panel6: TPanel;
Label2: TLabel;
Box2: TDBLookupComboBox;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
DBGrid4: TDBGrid;
ToolBar5: TToolBar;
Panel4: TPanel;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
ImageList1: TImageList;
Panel7: TPanel;
DBGrid1: TDBGrid;
RadioButton5: TRadioButton;
RadioButton6: TRadioButton;
Panel8: TPanel;
Button1: TButton;
Button2: TButton;
Panel12: TPanel;
Label9: TLabel;
Label17: TLabel;
Label18: TLabel;
ListBox2: TDBLookupListBox;
ToolBar6: TToolBar;
ToolButton3: TToolButton;
Panel9: TPanel;
Label7: TLabel;
Label3: TLabel;
Label8: TLabel;
Label6: TLabel;
Edit4: TEdit;
Edit3: TEdit;
Edit2: TEdit;
Edit1: TEdit;
Edit5: TSpinEdit;
procedure DateTimePicker1Change(Sender: TObject);
procedure DateTimePicker2Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Panel12Exit(Sender: TObject);
procedure ListBox2KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
RecipeYpQuery: TRecipeYpQuery;
implementation
uses datamz1,datamz, RecipeHzPrinM;
{$R *.DFM}
procedure TRecipeYpQuery.DateTimePicker1Change(Sender: TObject);
begin
DateTimePicker3.datetime:=DateTimePicker1.datetime;
end;
procedure TRecipeYpQuery.DateTimePicker2Change(Sender: TObject);
begin
DateTimePicker4.datetime:=DateTimePicker2.datetime;
end;
procedure TRecipeYpQuery.FormCreate(Sender: TObject);
begin
DateTimePicker1.date:=date();
DateTimePicker2.date:=date();
DateTimePicker3.date:=date();
DateTimePicker4.date:=date();
try
datamzf.YpClassQuery1.Active:=true;
datamzf.YpClassaQuery1.Active:=true;
//满君丰添加的下拉列表框的初始赋值
box1.KeyValue:=0;
box2.KeyValue:=0;
except
showmessage('操作失败,可能权限不够!');
end;
end;
procedure TRecipeYpQuery.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
DataMzf1.RecipeHzQuery.active:=false;
datamzf.YpClassQuery1.Active:=false;
datamzf.YpClassaQuery1.Active:=false;
datamzf1.YpQuery2.Active:=false;
RecipeYpQuery.Release;
end;
procedure TRecipeYpQuery.Button1Click(Sender: TObject);
begin
with DataMzf1.RecipeHzQuery do
begin
Active:=false;
Parameters.ParamByName('@Sdate').Value :=
DateTimePicker1.datetime;
Parameters.ParamByName('@Edate').Value :=
DateTimePicker2.datetime;
Parameters.ParamByName('@MinYpId').Value :=edit5.Value;
Parameters.ParamByName('@MaxYpId').Value :=edit5.Value;
if radiobutton1.Checked=true then
Parameters.ParamByName('@QuitIden').Value :=0;
if radiobutton2.Checked=true then
Parameters.ParamByName('@QuitIden').Value :=1;
if radiobutton5.Checked=true then
Parameters.ParamByName('@QuitIden').Value :=2;
if radiobutton6.Checked=true then
Parameters.ParamByName('@QuitIden').Value :=3;
if radiobutton3.Checked=false then
Parameters.ParamByName('@ZjIden').Value :=1
else
Parameters.ParamByName('@ZjIden').Value :=0;
if box2.KeyValue=0 then
begin
Parameters.ParamByName('@MinYpClass').Value :=0;
Parameters.ParamByName('@MaxYpClass').Value :=0;
end
else
begin
Parameters.ParamByName('@MinYpClass').Value :=
box2.keyvalue;
Parameters.ParamByName('@MaxYpClass').Value :=
box2.keyvalue;
end;
if box1.KeyValue=0 then
begin
Parameters.ParamByName('@MinYpClassa').Value :=0;
Parameters.ParamByName('@MaxYpClassa').Value :=0;
end
else
begin
Parameters.ParamByName('@MinYpClassa').Value :=
box1.keyvalue;
Parameters.ParamByName('@MaxYpClassa').Value :=
box1.keyvalue;
end;
end;
with datamzf1.RecipeYpQuery do
begin
active:=false;
sql.Clear;
if radiobutton1.Checked=true then
begin
sql.add('select my_id,yp_batch,sc_fact,');
sql.add('qr_date,ls_price,yp_amou,hj_id,qr_man ');
sql.add('from XyMzVali ');
sql.add('where qr_date>=:SDate and qr_date<=:EDate and');
sql.add('yp_id=:yp_id');
Parameters.ParamByName('Sdate').Value :=
DateTimePicker1.datetime;
Parameters.ParamByName('Edate').Value :=
DateTimePicker2.datetime;
end;
if radiobutton2.Checked=true then
begin
sql.add('select my_id,yp_batch,sc_fact,');
sql.add('qr_date,ls_price,yp_amou,hj_id,qr_man ');
sql.add('from XyMzQuitVali ');
sql.add('where qr_date>=:SDate and qr_date<=:EDate and');
sql.add('yp_id=:yp_id');
Parameters.ParamByName('Sdate').Value :=
DateTimePicker1.datetime;
Parameters.ParamByName('Edate').Value :=
DateTimePicker2.datetime;
end;
if radiobutton5.Checked=true then
begin
sql.add('select my_id,yp_batch,sc_fact,');
sql.add('qr_date,ls_price,yp_amou,hj_id,qr_man ');
sql.add('from XyMzVali ');
sql.add('where qr_date>=:SDate and qr_date<=:EDate and');
sql.add('yp_id=:yp_id and zb_iden=1');
Parameters.ParamByName('Sdate').Value :=
DateTimePicker1.datetime;
Parameters.ParamByName('Edate').Value :=
DateTimePicker2.datetime;
end;
if radiobutton6.Checked=true then
begin
sql.add('select my_id,yp_batch,sc_fact,');
sql.add('qr_date,ls_price,yp_amou,hj_id,qr_man ');
sql.add('from XyMzVali ');
sql.add('where qr_date>=:SDate and qr_date<=:EDate and');
sql.add('yp_id=:yp_id and mf_iden=1');
Parameters.ParamByName('Sdate').Value :=
DateTimePicker1.datetime;
Parameters.ParamByName('Edate').Value :=
DateTimePicker2.datetime;
end;
end;
try
DataMzf1.RecipeHzQuery.Open;
datamzf1.RecipeYpQuery.Active:=true;
except
showmessage('操作失败,可能权限不够!');
end;
end;
procedure TRecipeYpQuery.ToolButton1Click(Sender: TObject);
begin
box1.KeyValue:=0;
end;
procedure TRecipeYpQuery.ToolButton2Click(Sender: TObject);
begin
box2.KeyValue:=0;
end;
procedure TRecipeYpQuery.Button2Click(Sender: TObject);
var title:string[80];
begin
title:=datetostr(DateTimePicker3.Date)+'—'+datetostr(DateTimePicker4.Date);
if RadioButton4.Checked=true then
title:=title+' 制剂';
if RadioButton1.Checked=true then
title:=title+' 兰方' ;
if RadioButton2.Checked=true then
title:=title+' 红方' ;
if RadioButton5.Checked=true then
title:=title+' 值班方' ;
if box1.KeyValue<>0 then
title:=title+' '+box1.Text;
if box2.KeyValue<>0 then
title:=title+' '+box2.Text;
if DataMzf1.RecipeHzQuery.Active=true then
begin
RecipeHzPrin.Recipe_title.Caption:=title;
RecipeHzPrin.print;
end;
end;
procedure TRecipeYpQuery.ToolButton3Click(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Value:=0;
end;
procedure TRecipeYpQuery.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
with datamzf1.YpQuery2 do
begin
active:=false;
Parameters.ParamByName('@YpCode').Value := edit1.text;
try
open;
panel12.Visible:=true;
Listbox2.SetFocus;
except
showmessage('文件不能打开!');
end;
end;
end;
end;
procedure TRecipeYpQuery.Panel12Exit(Sender: TObject);
begin
panel12.Visible:=false;
end;
procedure TRecipeYpQuery.ListBox2KeyPress(Sender: TObject; var Key: Char);
begin
case key of
#13:
begin
edit5.value:=datamzf1.YpQuery2.FieldByName('yp_id').value;
edit2.text:=datamzf1.YpQuery2.FieldByName('yp_name').value;
edit3.text:=datamzf1.YpQuery2.FieldByName('yp_spec').value;
edit4.text:=datamzf1.YpQuery2.FieldByName('yp_unit').value;
datamzf1.YpQuery2.Close;
edit1.SetFocus;
end;
#27:
begin
edit1.SetFocus;
datamzf1.YpQuery2.active:=false;
end;
end ;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -