访问2013
我有一个简单的查找表,在上个月两次记录(每次不同的记录)都消失了。
由于表的auto id被用作外键,我被迫删除表并重新创建它。
我根本不向Access DB中的用户提供任何删除功能,特别是不向查找表提供删除功能。
我已经在我的VBA代码中对表的所有引用进行了全局搜索,发现它已被多次使用,但只在select语句中使用。
目前我怀疑用户正在摆弄他们不完全理解的东西,他们无意中删除了记录。
我还能做些什么来确定这个问题的原因?
我可以将查找表设为只读吗?
答案 0 :(得分:0)
查看关系窗口。查看有问题的链接表,看看是否有“Cascade Deletes'检查。如果是这样,删除一条记录将删除相关记录。
答案 1 :(得分:0)
原来是第二个查询表,它在查询中定义了一个不需要的临时关系。即:没有列基于这个不必要的表。这个不必要的查找表只是用作表单上组合框的行源。
在我注意到表单数据类型设置为动态集(不一致更新)后,我发现了这一点。为什么?当我用普通的动态集测试表单时,表单拒绝执行任何更新!
当我从查询中删除不必要的查找表时,我能够将数据类型设置回动态数据库,更新继续工作,删除不再级联到我的第一个和所需的查找表。
此外,不必要的查找表实际上是一个引用另一个数据库中的表的查询。