我在 MS Access 2007 中实现了邻接列表树。在插入或更新时,我想验证循环引用(如a->b->c->a
)。我编写了一个简单的函数,如果引用的路径是有限的,则给定表名和树节点的 id 返回 true,如果存在循环,则返回 false。
不幸的是,根据http://msdn.microsoft.com/en-us/library/office/aa191586(v=office.10).aspx:
对于字段和记录验证规则,表达式不能包含用户定义的函数、域聚合或聚合函数、Eval 函数或 CurrentUser 方法,或对表单、查询或表的引用。此外,字段验证规则不能包含对其他字段的引用。对于记录,表达式可以包含对该表中字段的引用。
我仅限于使用 Access 数据库引擎作为后端的 MS Access。我知道邻接列表树模型的局限性,但我仍然更喜欢它。
验证这些参考的最佳方法是什么?