设表1为TableA,表2为TableB
在两表的AfterScroll事件中加入LOCATE就可以了
if not Locate('ID',TableB.ID,[]) then //如果是在TableB中,就改为TableA.ID
showmessage('No this ID in TableB!');
不好意思,没想到这点,按上面代码的话,会造成死循环——只要一触发其中一个表的事
件,另一个表也会相应触发该事件。有一个麻烦一点的做法,就是先定义一个变量iID
AfterScroll的事件改动如下
iID:=tableAID.value;
if tableBID.value<>iID then //如果表B的当前ID与iID相同,就不再动了
if not Locate('ID',TableB.ID,[]) then //如果是在TableB中,就改为TableA.ID
showmessage('No this ID in TableB!');
我的回答仅做本地库的参考,如果是SQL SERVER可以参考游标,但也要考虑是否会造成死
循环的问题。