📄 xymzzjinm.pas
字号:
unit XyMzZjInM;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, Grids, DBGrids, Mask, DBCtrls, ExtCtrls,db,adodb,
Buttons,comobj;
type
TXyMzZjIn = class(TForm)
Panel3: TPanel;
DBGrid1: TDBGrid;
Panel1: TPanel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
listbox1: TDBLookupListBox;
Panel2: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Panel4: TPanel;
procedure Panel1Exit(Sender: TObject);
procedure listbox1KeyPress(Sender: TObject; var Key: Char);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
XyMzZjIn: TXyMzZjIn;
implementation
{$R *.DFM}
uses
datamz;
procedure TXyMzZjIn.Panel1Exit(Sender: TObject);
begin
datamzf.XyZjQuery.edit;
dbgrid1.Fields[2].value:='';
panel1.Visible:=false;
end;
procedure TXyMzZjIn.listbox1KeyPress(Sender: TObject; var Key: Char);
begin
case key of
#13:
begin
if datamzf.XyQuery.FieldByName('ls_price').value=0 then
ShowMessage('选定制剂药品的单价必须大于零,请先输入此药的单价!')
else
begin
datamzf.XyZjQuery.edit;
dbgrid1.Fields[8].FocusControl;
dbgrid1.Fields[0].value:=
datamzf.XyQuery.FieldByName('in_id').value;
dbgrid1.Fields[3].value:=
datamzf.XyQuery.FieldByName('yp_name').value;
dbgrid1.Fields[4].value:=
datamzf.XyQuery.FieldByName('yp_spec').value;
dbgrid1.Fields[5].value:=
datamzf.XyQuery.FieldByName('yp_unit').value;
dbgrid1.Fields[6].value:=
datamzf.XyQuery.FieldByName('yp_batch').value;
dbgrid1.Fields[7].value:=
datamzf.XyQuery.FieldByName('ls_price').value;
datamzf.XyQuery.Active:=false;
end;
end;
#27:
begin
dbgrid1.fields[2].focuscontrol;
datamzf.XyQuery.Active:=false;
end;
end ;
end;
procedure TXyMzZjIn.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if (key=#13) and (length(trim(dbgrid1.fields[2].text))>0)
and (dbgrid1.SelectedIndex=2) then
begin
with datamzf.XyQuery do
begin
active:=false;
Parameters.ParamByName('@YpCode').Value := dbgrid1.fields[2].text;
Parameters.ParamByName('@ZjIden').Value :=1;
try
open;
panel1.Visible:=true;
listbox1.SetFocus;
except
showmessage('文件不能打开!');
end;
end;
end
else
begin
if (key=#13) and (dbgrid1.SelectedIndex=8)
and (dbgrid1.Fields[0].value>0) then
begin
if datamzf.XyZjQuery.Eof=true then
datamzf.XyZjQuery.append
else
datamzf.XyZjQuery.next;
dbgrid1.fields[2].focuscontrol;
end
else
if (key=#13) and (dbgrid1.Fields[0].value<=0) then
bitbtn1.SetFocus;
end;
end;
procedure TXyMzZjIn.BitBtn2Click(Sender: TObject);
begin
datamzf.XyZjQuery.active:=false;
datamzf.XyZjQuery.active:=true;
dbgrid1.fields[2].focuscontrol;
end;
procedure TXyMzZjIn.BitBtn1Click(Sender: TObject);
var
ms:integer;
begin
ms:=Application.messagebox('确定输入?','提示',MB_OKCANCEL);
if ms=1 then
begin
try
datamzf.XyZjInQuery.Active:=true;
except
showmessage('不能打开文件,操作被取消!');
exit;
end;
with datamzf.XyZjQuery do
begin
First;
while not eof do
begin
if (FieldByName('in_id').value>0)
and (FieldByName('in_amou').value<>0)
and (FieldByName('in_amou').value>0)then
begin
datamzf.XyZjInQuery.Append;
datamzf.XyZjInQuery.FieldByName('in_id').value:=
FieldByName('in_id').value;
datamzf.XyZjInQuery.FieldByName('ls_price').value:=
FieldByName('ls_price').value;
datamzf.XyZjInQuery.FieldByName('in_amou').value:=
FieldByName('in_amou').value;
end;
next;
end;
end;
datamzf.XyMzValiConnection.BeginTrans;
try
datamzf.XyZjInQuery.Updatebatch(arAllChapters);
datamzf.XyMzValiConnection.CommitTrans;
datamzf.XyZjQuery.active:=false;
datamzf.XyZjQuery.active:=true;
datamzf.XyZjInQuery.active:=false;
dbgrid1.fields[2].focuscontrol;
except
on E:EOleException do
begin
datamzf.XyMzValiConnection.RollbackTrans;
showmessage(E.message);
datamzf.XyZjInQuery.active:=false;
dbgrid1.fields[2].focuscontrol;
end;
on Ed:EDatabaseError do
begin
datamzf.XyMzValiConnection.RollbackTrans;
showmessage(Ed.message);
datamzf.XyZjInQuery.active:=false;
dbgrid1.fields[2].focuscontrol;
end;
else
begin
datamzf.XyMzValiConnection.RollbackTrans;
showmessage('发现异常,操作被取消!');
datamzf.XyZjInQuery.active:=false;
dbgrid1.fields[2].focuscontrol;
end;
end;
end;
end;
procedure TXyMzZjIn.FormClose(Sender: TObject; var Action: TCloseAction);
begin
datamzf.XyZjQuery.Active:=false;
datamzf.XyZjInQuery.Active:=false;
datamzf.XyQuery.Active:=false;
XyMzZjIn.Release;
end;
procedure TXyMzZjIn.FormActivate(Sender: TObject);
begin
try
datamzf.XyZjQuery.Active:=true;
except
showmessage('打开数据表失败,可能权限不够!');
bitbtn1.Enabled:=false;
bitbtn2.Enabled:=false;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -