freesoaring谢谢你的提示,如果没有其他方法
我用BeforePost事件完成,能满足我的要求。
var
isxz: Boolean; // 是否执行选取
procedure TForm1.DBGrid2DblClick(Sender: TObject);
begin
if (Query3.State in [dsEdit,dsInsert]) then begin
isxz:=true;
Query3.Post;
end else begin
xqnr:=Query3.FieldByName('spbm').AsString;
Spxq(xqnr);
end;
end;
procedure TForm1.Query3BeforePost(DataSet: TDataSet);
begin
if isxz then begin
xqnr:=Query3.FieldByName('spbm').AsString;
Spxq(xqnr);
isxz:=false;
Abort;
end;
end;