建一主表IM.DB(字段Id1为主键) 与一明细表IL.DB(字段Id1为副索引,类型与主表字段
Id1相同);
设置好主从关系,可参见/Demo/db/mastApp等实例。
Table1.tablename:=im.db
Table2.tablename:=il.db
Table1.open;
Table2.open;
...
当对主表操作时:
Table1.append;
在Table1.OnNewRecord事件中添加代码 :
Table1.Edit;
Table1['xxxx']:= ...
...
在Table1.OnAfterPost事件中添加代码 :
检测是否新增记录,是则:
Table2.Append;
Table2['xxxxxxx']:=dbedit1.text
....
否: exit;
删除记录时删主表Id1号=edit1.text的记录,细表删Id1号=edit1.text的所有记录。
在Table1.OnPostError件中添加代码 :
if (E is EDBEngineError) then
if (E as EDBEngineError).Errors[0].Errorcode = eKeyViol then
begin
application.MessageBox('输入的记录编号重名.','问题',mb_ok+MB_ICONERROR);
Abort;
end;
...
...
希望你能有收获。