📄 kq_bzze.pas
字号:
unit Kq_BzzE;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, DBCtrls, ExtCtrls, Db, ObeyTable, Buttons,
CodeEd, OleCtnrs, ComCtrls, TimeIntField, Grids, DBGrids, ADODB,Variants,
ADOQry;
type
TfrmKq_BzzE = class(TForm)
DataSource1: TDataSource;
DataSource2: TDataSource;
DBGrid1: TDBGrid;
qryBzdyL: TADOQry;
qryBzdyLCode: TStringField;
qryBzdyLName: TStringField;
qryBzdyLBcCount: TSmallintField;
qryBzdyLZbSj: TFloatField;
qryBzdyLJbSj: TFloatField;
qryBzdyLNote: TStringField;
DataSource3: TDataSource;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
cmdOK: TBitBtn;
cmdCancel: TBitBtn;
Label3: TLabel;
qryBzdy: TADOQry;
qryBzdySessionID: TIntegerField;
qryBzdyCode: TStringField;
qryBzdyName: TStringField;
qryBzdyBcCount: TSmallintField;
qryBzdyIfFdJcsj: TBooleanField;
qryBzdyZbSj: TFloatField;
qryBzdyJbSj: TFloatField;
qryBzdyNote: TStringField;
qryBzdyNoteUser: TStringField;
qryBzdyNoteGen: TStringField;
qryBzdyIfJb6: TBooleanField;
qryBzdyIfJb7: TBooleanField;
qryBzdyIfJb9: TBooleanField;
qryBzdyD: TADOQry;
qryBzdyDBzCode: TStringField;
qryCodeChk: TADOQry;
qryNew: TADOQry;
qryNewID: TIntegerField;
Label4: TLabel;
DBEdit3: TDBEdit;
qryEditD: TADOQuery;
qryEditDID: TAutoIncField;
qryEditDBzID: TIntegerField;
qryEditDBzCode: TStringField;
qryEdit: TADOQuery;
qryEditID: TIntegerField;
qryEditSessionID: TIntegerField;
qryEditCode: TStringField;
qryEditName: TStringField;
qryEditNote: TStringField;
qryEditNoteUser: TStringField;
qryEditNoteGen: TStringField;
qryEditIfBzz: TBooleanField;
qryEditBcCount: TSmallintField;
qryEditIfFdJcsj: TBooleanField;
qryEditZbSj: TFloatField;
qryEditJbSj: TFloatField;
qryEditIfJb6: TBooleanField;
qryEditIfJb7: TBooleanField;
qryEditIfJb9: TBooleanField;
procedure cmdOKClick(Sender: TObject);
procedure qryEditPostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction);
procedure RadioButton8Click(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure qryEditNewRecord(DataSet: TDataSet);
private
lIsNew :Boolean;
{ Private declarations }
public
Function Add(tnSession:integer):Boolean;
Function CopyAdd(tnID:integer):Boolean;
Function Edit(tnID:integer):Boolean;
{ Public declarations }
end;
var
frmKq_BzzE: TfrmKq_BzzE;
implementation
uses SelfFunc, Kq_Bzdy;
{$R *.DFM}
Function TfrmKq_BzzE.Add(tnSession:integer):Boolean;
begin
lIsNew :=True;
Self.SelectFirst;
with qryEdit do
begin
Close;
Parameters[0].Value :=Null();
Open;
Append;
end;
NewRecDefa(qryEdit, ['Name', '', 'IfFdJcsj',False
,'SessionID',tnSession
,'IfJb6',False, 'IfJb7',False, 'IfJb9',False
,'BcCount',0]);
with qryBzdyL do
begin
Close;
Parameters[0].Value :=tnSession;
Open;
end;
Result :=(Self.ShowModal() =mrOK);
end;
Function TfrmKq_BzzE.CopyAdd(tnID:integer):Boolean;
var i :integer;
begin
lIsNew :=True;
with qryBzdy do
begin
Close;
Parameters[0].Value :=tnID;
Open;
end;
qryEdit.Append;
for i :=0 to qryBzdy.FieldCount -1 do
qryEdit.FieldByName(qryBzdy.Fields[i].FieldName).Value
:= qryBzdy.Fields[i].Value;
qryEditCode.Value :='';
with qryBzdyL do
begin
Close;
Parameters[0].Value :=qryBzdySessionID.Value;
Open;
end;
with qryBzdyD do
begin
Close;
Parameters[0].Value :=tnID;
Open;
end;
while not qryBzdyD.Eof do
begin
if qryBzdyL.Locate('Code', qryBzdyDBzCode.Value, []) then
DBGrid1.SelectedRows.CurrentRowSelected :=True;
qryBzdyD.Next;
end;
if not qryBzdyL.IsEmpty then qryBzdyL.First;
Self.SelectFirst;
Result :=(Self.ShowModal() =mrOK);
end;
Function TfrmKq_BzzE.Edit(tnID:integer):Boolean;
begin
lIsNew :=False;
Self.ActiveControl :=cmdCancel;
with qryEdit do
begin
Close;
Parameters[0].Value :=tnID;
Open;
end;
with qryBzdyL do
begin
Close;
Parameters[0].Value :=qryEditSessionID.Value;
Open;
end;
with qryEditD do
begin
Close;
Parameters[0].Value :=tnID;
Open;
end;
while not qryEditD.Eof do
begin
if qryBzdyL.Locate('Code', qryEditDBzCode.Value, []) then
DBGrid1.SelectedRows.CurrentRowSelected :=True;
qryEditD.Next;
end;
if not qryBzdyL.IsEmpty then qryBzdyL.First;
Result :=(Self.ShowModal() =mrOK);
end;
procedure TfrmKq_BzzE.cmdOKClick(Sender: TObject);
var i, nID :integer;
tsNote :string;
begin
if not ValidRecord(qryEdit, ['Code',vrvEmpty
,'Name',vrvEmpty])
then Exit;
if qryBzdyL.IsEmpty or (DBGrid1.SelectedRows.Count <=1) then
begin
MsgBox('叫匡拒
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -