2

运行时错误 数据已更改。

我的一个子表单遇到了困难。它过去可以毫无怨言地工作,但我想现在它决定有点冗长。在这个表单上,我有一个包含各种复选框选项的子表单。每当用户输入一个复选框选项然后退出到主窗体时,就会运行一个 On Exit 事件。它结合了来自各种表单的一些文本框,然后将该值放在主表单的文本框中。

 var1 = [Form1]![Textbox].Value 
 var2 = [Form2]![Textbox].Value 
 var3 = [Form3]![Textbox].Value 

 Me.[TextBox].Value = var1 & var2 & var3

出于某种原因,在退出子表单时,我收到了运行时错误。

模式不明显。

  1. 我可以从子表单导航到主表单,而无需在其中任何一个中进行任何更改而不会收到错误消息。
  2. 如果我进入子表单,进行更改,退出子表单,文本框将被更新而没有投诉,但是如果我回到子表单,不要进行更改然后返回主表单,那么我得到运行时错误
  3. 同样,在确保行为 1 为真之后,我可以进入子表单,更改某些内容,但如果我尝试返回子表单并进行额外更改,我会收到投诉。(我可以通过使输入事件刷新子表单来解决此问题)

我无法修复运行时错误... :(

4

1 回答 1

1

我看到这对于许多没有解决方案的人来说是一个问题。这是我的工作。

根据我的观察,更新了 Textbox.value 的表单会通过其子表单的输入或退出以某种方式静默更新,因此当更新该文本框的退出操作发生时,它会抱怨主表单已更新,因此离开我的结论是,当该表单更新时,它不会显示给用户。

因此,我的工作是在子表单的出口处重新查询主表单,以便加载和更改新数据。

警告!!默认情况下,重新查询将带您回到第一条记录,从而提供更改错误记录的文本框的可能性。因此,作为重新查询过程的一部分,如果您选择此 hack,您将必须为当前打开的记录添加书签,重新查询,然后再次获取该记录。为了达到预期的效果,我使用了这个网页的代码。从而环绕 7878。

重新查询并保持记录: http ://www.baldyweb.com/Requery.htm

于 2012-03-01T18:04:48.570 回答