在ms访问中,我有一个表单,它也有一个子表单。我想以编程方式将主表单中的RecordsetType更改为快照,当子表/子表单具有一对多关系中的关联记录时。我写了一些vba代码来做到这一点,但我遇到了一些非常奇怪的行为。以编程方式更改以ms访问的RecordsetType或更好的方法
然后我发现这是因为当我改变RecordsetType时,表单刷新并导航回第一条记录。这会导致On Current事件和相关代码在子表单和主表单中两次触发。我正在考虑使用DoCmd.SearchForRecord导航回原始记录,但很快就意识到它不起作用,因为DoCmd.SearchForRecord中的WHERE条件在事件第二次触发时被覆盖。这一切似乎都很低效。
有没有其他方法可以做我想做的事情?我真的不想将窗体中的控件设置为“禁用”。
为什么你不希望设置窗体AllowEdits属性?这很简单。 – Fionnuala 2013-02-19 16:14:45
是的,这是一个非常简单的解决方案。我一直在做三个星期的VBA编程。尽管记录集类型和允许编辑属性表中的相同选项卡上,我甚至没有看到它在那里。而令人尴尬的是,我花了很多时间试图弄清楚如何使这个工作。谢谢! – jaromey 2013-02-19 16:39:08
这是一个真正的问题,试图看到这些东西,有这么多dratted属性:) – Fionnuala 2013-02-19 16:40:37