我在MS Access 2010中有一个仪表板表单。此仪表板有一个子表单数据表视图查询,显示未完成的采购订单,其中状态为'可以是submitted
,overdue
或part delivered
。 delivered
还有一个选项,但这不是查询的标准,因为它们不是"杰出的"。
我有另一个用户,他们在前端正在更新交付(保存到服务器上的后端)。我在前端看到的是现在在我的查询结果中具有状态delivered
的采购订单。
据我所知,状态已经更新'并且我的查询结果明显改变了,但是,只有当我执行一个动作时,它才会在子表格消失时重新查询。
当我的查询结果显示delivered
时,为什么此更新不会直接删除记录?
这是'更新'与requery不同?
是否在其他用户更改记录后直接进行此更新?
为什么我会看到delivered
尽管标准?
我可以发布SQL查询,但我认为没必要吗?
由于
答案 0 :(得分:1)
子表单的条件只会在您重新查询时过滤掉该记录。
由于您有一个拆分数据库,因此您将无法向同事用于重新查询控件的更新例程添加命令。但是,您可以将子表单设置为在特定时间间隔自动重新查询,因此,如果数据由其他人更新,则表示"已交付"记录只会在下一次定时重新查询命令执行之前出现。这样就无需在发现错误数据时主动重新查询子表单。
Check out this link on Time Intervals或了解更多帮助,请查看this thread.
答案 1 :(得分:1)
我基本上混淆了Refresh和Requery之间的区别。
刷新记录仅更新数据表表单中已存在的数据。它不显示新记录,也不删除已不再符合查询条件的已删除记录和记录。
Requery,顾名思义,重新运行查询以查找哪些数据记录符合为数据表表单指定的查询条件。
我已经添加了一个定时器来定期重新查询我的子表单,但我已经决定只允许数据存在,直到用户执行数据库操作,我已经设置了一个重新查询。