📄 frmdssu01_detalp.pas
字号:
unit FrmDsSu01_DetalP;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, FrmBaseFormP, StdCtrls, ExtCtrls, Menus, DB, ADODB;
type
TFrmDsSu01_Detal = class(TFrmBaseForm)
Img1: TImage;
Label1: TLabel;
Label2: TLabel;
Shape1: TShape;
Shape2: TShape;
Label3: TLabel;
Label4: TLabel;
Label8: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit7: TEdit;
Edit3: TEdit;
Label5: TLabel;
Edit4: TEdit;
Label6: TLabel;
Edit5: TEdit;
Label7: TLabel;
Edit6: TEdit;
ADOQ_DsSu02: TADOQuery;
ADOQ_DsEl00: TADOQuery;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure Edit3DblClick(Sender: TObject);
procedure Edit3Exit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmDsSu01_Detal: TFrmDsSu01_Detal;
implementation
uses FrmMainP, FrmDsSu01P, SysPub, DataM1P;
{$R *.dfm}
procedure TFrmDsSu01_Detal.FormShow(Sender: TObject);
begin
inherited;
FrmMain.TlB1.Enabled :=False;
Img1.Picture.LoadFromFile(_AppPath+'Bmp\Tao.Bmp');
FrmMain.TQuit.Enabled :=True;
If DetalFlag=1 then
Begin
Edit1.Text :=ADOQ_DsSu02.FieldByName('Su_ID').AsString ;
Edit2.Text :=ADOQ_DsSu02.FieldByName('Su_SNO').AsString ;
Edit3.Text :=ADOQ_DsSu02.FieldByName('EL_NO').AsString ;
Edit5.Text :=ADOQ_DsSu02.FieldByName('EL_UNIT').AsString ;
Edit6.Text :=FloatToStr(ADOQ_DsSu02.FieldByName('EL_PRICE').AsFloat ) ;
Edit7.Text :=ADOQ_DsSu02.FieldByName('Su_NOTE').AsString ;
End
Else
Begin
Edit1.Text :=StrFNo ;
Edit2.Text :=StrSno;
End;
end;
procedure TFrmDsSu01_Detal.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
// inherited;
FrmMain.TlB1.Enabled :=True;
IF Edit6.Text ='' Then
Edit6.Text :='0.0';
Try
DataM1.Adoc.BeginTrans ;
With ADOQ_DsSu02 Do
IF DetalFlag=0 then
Begin
Edit ;
FieldByName('Su_ID').AsString :=StrFNo ;
FieldByName('Su_Sno').AsString :=StrSno;
FieldByName('EL_NO').AsString :=Edit3.Text ;
FieldByName('EL_UNIT').AsString :=Edit5.Text ;
FieldByName('EL_PRICE').AsFloat :=StrToFloat(Edit6.Text ) ;
FieldByName('Su_NOTE').AsString :=Edit7.Text ;
post;
End
Else
Begin
Edit;
FieldByName('EL_NO').AsString :=Edit3.Text ;
FieldByName('EL_UNIT').AsString :=Edit5.Text ;
FieldByName('EL_PRICE').AsFloat :=StrToFloat(Edit6.Text ) ;
FieldByName('Su_NOTE').AsString :=Edit7.Text ;
post;
End;
DataM1.Adoc.CommitTrans ;
Except
Begin
Showmessage('数据保存出错');
DataM1.Adoc.RollbackTrans ;
abort;
End;
end;
ADOQ_DsSu02.Active :=False;
ADOQ_DsEL00.Active :=False;
action:=cafree;
End;
procedure TFrmDsSu01_Detal.FormCreate(Sender: TObject);
var Sqltext:String ;
begin
//inherited;
SqlText:='Select * From DsSu02 Where Su_ID='+''''+StrFno+''''+' And Su_Sno='+''''+StrSno+'''' ;
ADOQ_DsSu02.SQL.Clear ;
ADOQ_DsSu02.SQL.Text:=SqlText;
IF ADOQ_DsSu02.Active =False Then
ADOQ_DsSu02.Active :=True;
ADOQ_DsSu02.Open ;
ADOQ_DsEL00.Active :=True;
end;
procedure TFrmDsSu01_Detal.Edit3DblClick(Sender: TObject);
var SqlStr:String;
begin
inherited;
IF Edit3.ReadOnly <>True Then
Begin
SqlStr:='Select El_No as 料品编号,EL_Name as 料品名称 From DsEL00 Where EL_No Like '+''''+Edit3.Text+'%'+''''+' Order By EL_NO';
Edit3.Text :=SetFindForm(Self.Caption,SqlStr);
End;
end;
procedure TFrmDsSu01_Detal.Edit3Exit(Sender: TObject);
begin
inherited;
IF ADOQ_DsEL00.Locate('EL_NO',Edit3.Text,[]) Then
Edit4.Text :=ADOQ_DsEL00.FieldByName('EL_Name').AsString
Else
Begin
ShowMessage('料号:'+Edit4.Text +'在料号表中不存在!');
Edit4.SetFocus ;
End;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -