王 王瑞 Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-24 #1 二个TABLE A和B,是主细关系,主A主键ID定义为自累加字段, 细B主键ID+IT,当A追加(APPENDRECORD)一条纪录时如何保证 细B的ID与主A的ID一致
A amo Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-24 #2 当A追加(APPENDRECORD)一条纪录时与B无关吧, 只有当B追加(APPENDRECORD)一条纪录时才需考虑与A的ID一至的问题。 在建表时,建立A与B的ID字段间的lookup关系就是了。
F fstao Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-24 #5 这样做,假如主表Table1(字段为MasterID和细表Table2(字段Detailid和 NextID,把Detailid设置为Secondary Indexes,把Nextid设置为主关键字,同 时定义为自动累加),在form1添加两个表Master(对应Table1)和Detail(对应 Table2),在Detail的OnNewRecord事件为: DetailDetailid.Value:=masterMasterid.Value; OK! 这个问题只要看一看Delphi的Demos就完全可以解决的了。
这样做,假如主表Table1(字段为MasterID和细表Table2(字段Detailid和 NextID,把Detailid设置为Secondary Indexes,把Nextid设置为主关键字,同 时定义为自动累加),在form1添加两个表Master(对应Table1)和Detail(对应 Table2),在Detail的OnNewRecord事件为: DetailDetailid.Value:=masterMasterid.Value; OK! 这个问题只要看一看Delphi的Demos就完全可以解决的了。
王 王瑞 Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-24 #6 进一步说明,当A追加(APPENDRECORD)一条纪录时与B无关, 但同时也使B追加(APPENDRECORD)几条纪录 B的这几条纪录ID与A一致. 请问A与B的ID字段间的lookup关系该怎样实现
进一步说明,当A追加(APPENDRECORD)一条纪录时与B无关, 但同时也使B追加(APPENDRECORD)几条纪录 B的这几条纪录ID与A一致. 请问A与B的ID字段间的lookup关系该怎样实现
Y Yong Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-24 #7 为何要自累加字段?APPENDRECORD时,主A主键 ID:=A.RecordCount+1不就行了
W wdq Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-25 #8 当在主表中增加一条记录后,当你对细表操作时,细表的 ID 自动会 与主表一致的,也就是说你不用考虑这种情况。 不信你可以在一个窗体上放两个DBGrid,分别连主,细表,细表的 mastersource 和 master field 均设为主表,然后向主表中增加一条记录 再向细表中增加记录时,你会看到细表的 ID 字段会自动与主表一致。
当在主表中增加一条记录后,当你对细表操作时,细表的 ID 自动会 与主表一致的,也就是说你不用考虑这种情况。 不信你可以在一个窗体上放两个DBGrid,分别连主,细表,细表的 mastersource 和 master field 均设为主表,然后向主表中增加一条记录 再向细表中增加记录时,你会看到细表的 ID 字段会自动与主表一致。
C cytown Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-25 #9 hehe, recordcount如果有删除会出现重复id. 确实a增加记录不用考虑b, 而在b增加时要 tableb.fieldbyname(id).asinteger:=tablea.fieldbyname(id).asinteger;
hehe, recordcount如果有删除会出现重复id. 确实a增加记录不用考虑b, 而在b增加时要 tableb.fieldbyname(id).asinteger:=tablea.fieldbyname(id).asinteger;