我想向微软报告这是一个bug,但我想知道是否还有其他人遇到过这种情况。
++++
下面是Access 2010数据宏的一个非常有趣和模糊的问题。
问题是在表上触发“更新前数据”宏会导致不必要的表单刷新。刷新正在清除表单上几个多选择列表框中的所有选择。我希望选择留在这里。在添加数据宏之前,表单按照我的要求工作(不清除mslb选择)。
复制这个问题。
这种情况发生在拆分/前端-后端场景中。前面和后面都是访问2010年文件。
在后端ACCDB..。使用ID和Description列以及date_updated列创建表“Item”。将Data放在此表的"date_updated“字段设置为now()的a上。
在前端ACCDB..。与物品表相连..。
现在,创建一个未绑定到任何表的空白表单。在表单上创建一个未绑定的多选择列表框,并通过任何其他表或使用值列表填充(不管行源是什么),并且可以绑定或解除绑定--这并不重要。
现在在表单上创建一个按钮。在这个按钮后面,像这样放置VBA代码。
docmd.runsql“插入项(描述)值('test')”(只是将一行插入项表中的任何有效的sql语句)
打开表格。
在列表框中选择几项。
按下按钮。您将看到表单被刷新,因此丢失了列表框选择。
关闭窗体,然后从Items表中删除数据宏。
打开表单,在列表框中选择项目,然后按下按钮。
既然没有数据宏,表单就不会刷新,选择也会保持不变。
++++++++++++++++++
底线:由于某种原因,在与表单完全无关的表上触发数据宏(但由表单后面的代码触发)会导致表单刷新。
禁用数据宏,表单不会刷新。
为什么一个数据宏..。在后端ACCDB文件..。导致前端的表单刷新?请记住,表单与表或数据宏无关。
这迫使我放弃数据宏。我不认为这是有意或期望的行为在Access 2010。
我想得到任何人的确认,这是一个问题!
谢谢!
发布于 2013-04-19 13:01:47
当Before Change
数据宏就位,列表框Multi Select
设置为Extended
时,我能够确认您的问题。在相同的条件下,如果列表框的设置为Simple
,则列表框的选择是Simple
而不是。(我注意到,当Multi Select
设置为Simple
时,F5也不会清除选择。)
https://stackoverflow.com/questions/16112898
复制