0

我正在建立一个关键的库存管理系统。我创建了一个查询,通过确定哪些密钥已归还、未丢失或从未租用,显示当前未使用的密钥。我将此查询复制到我的 keyActivity 表中的 key_id 查找字段(用于记录键注销)。问题是查询不会更新以提供可用键,直到表 keyActivity 关闭并再次打开

示例:我打开keyActivity,表明key_id = 5 丢失。当我转到新记录并选择要注销的密钥时,key_id = 5 显示为可用。直到我关闭表,再次打开它,key = 5 才从列表中删除。

在这里您可以看到键 5 在 id 5 中被指示为丢失,但在 id 7 中选择键时,5 在不应该出现时可用。 在此处输入图像描述

无论如何要解决此问题或将其设置为按预期工作。我计划使用表格来呈现所有信息。也许有一个表格解决方案?

4

1 回答 1

2

建议您最好Form更改表数据。它可以很容易地requery根据您所做的更改更新表格并相应地显示更新的数据。另请阅读给定的参考资料以获取更多信息。

在多用户环境中的数据更新和锁定方面,本文可能会有所帮助。

Access is NOT a database server. It's a desktop database. It has been pushed to the limit to support mutli-user environments, but only in the sense that you can share the "back end" database across a network.“……

Even the record locking is performed by the Front End. All of the front end database applications share the "lock file" (a file with the same name as the database file, but with the extension LDB); but that file is simply a mechanism that the front ends use to determine which front end can make changes to the database.”……

这是重新查询和刷新之间的区别:

Me.Requery强制重新加载表单的整个记录​​集(基础数据)。这意味着您当前表单中的所有记录都将重新加载。您当前的位置将会丢失,因此如果您坐在 100 的记录中的第 10 位,您会发现自己又回到了第一个记录。Me.Requery本质上与关闭和重新打开表单相同。其他并发用户添加的任何新记录都将可用。同样,任何已删除的记录都会消失。Requery 本质上是“重新运行查询”,它首先将数据拉入表单。您还可以使用 requery 来更新列表框或组合框中的数据。

Me.Refresh保存您正在处理的当前记录。它还将检索对当前表单中显示的任何记录的任何更改(但不是添加或删除)。重新计算表单上的任何计算(未绑定字段)。刷新不会重新加载记录集。您不会失去您在表格中的位置(您保留在当前记录上)。不会显示其他用户添加的任何新记录。

于 2013-01-13T09:51:16.330 回答