在设计模式下双击你的ADOQuer控件,出现ADOQuer字段列表, 选中你想触发事件的字段,在属性框(事件页框)里有onValidate事件。 这个事件就是表格单元内容有改变才触发。我想你是在DBGRID你修改某一单元格数据,然后针对修改数据进行严正吧。 (如果数据无变化,则不触发该事件) 看看我的代码,希望能给你带来帮助: procedure TFrmDB.FLGENDS012Validate(Sender: TField); begin with Frmdb.Qpublic do begin close; sql.Clear; sql.Add('select ISNULL(MC002,0) as BH from CMSMC WHERE MC001=:NA'); PARAMETERS[0].Value:=FRMDB.FLGENDS012.Value; OPEN; end; BEGIN IF Frmdb.Qpublic.RecordCount=0 THEN begin SHOWMESSAGE('无此仓库,请查证后重新输入!'); end else begin FRMDB.FLGENDS024.Value:=QPUBLIC.FIELDBYNAME('BH').Value; END; END; end;
选中你想触发事件的字段,在属性框(事件页框)里有onValidate事件。
这个事件就是表格单元内容有改变才触发。我想你是在DBGRID你修改某一单元格数据,然后针对修改数据进行严正吧。
(如果数据无变化,则不触发该事件)
看看我的代码,希望能给你带来帮助:
procedure TFrmDB.FLGENDS012Validate(Sender: TField);
begin
with Frmdb.Qpublic do
begin
close;
sql.Clear;
sql.Add('select ISNULL(MC002,0) as BH from CMSMC WHERE MC001=:NA');
PARAMETERS[0].Value:=FRMDB.FLGENDS012.Value;
OPEN;
end;
BEGIN
IF Frmdb.Qpublic.RecordCount=0 THEN
begin
SHOWMESSAGE('无此仓库,请查证后重新输入!');
end
else
begin
FRMDB.FLGENDS024.Value:=QPUBLIC.FIELDBYNAME('BH').Value;
END;
END;
end;