最有两个数据表(使用ADOTable连接),其中表一为部门表(字段为ID,DEPT)表二为组别表(字段为ID,DEPT_ID,GROUNT),表二中DEPT_ID为外部关键字和表一中的ID相关联。现表一中有记录001,行政部,表二中有其子项,101,行政一部,102,行政二部,当删除表一的记录001时出错,主要原因题表二有相关联的数据,现要在删除表一记录时判断表二中是否有其子项,应该如何判断?有一窗体上有个删除按键,在删除事件中我用 DM1.DEPT.Delete;在数据集DEPT的BeforeDelete中我用了如下代码,可是出错!procedure TDM1.DEPTBeforeDelete(DataSet: TDataSet);
begin
  with TADOQuery.Create(self) do
  try
    connection:=ADOconnection1;
    sql.Clear;
    Sql.Add('Select * from GROUP_CODE where DEPT_ID=:number');
    Parameters[0].Value:=DEPT.FieldByName('ID').Value;
    Open;
    if RecordCount>0 then
    begin
      ShowMessage('不能删除');//如果换成MessageBox怎么处理呢?在窗体中可以,在这里不行。
      Free;
      Abort;
    end;
  finally
    Free;
  end;
end;