访问Front MySql Back运行时错误7878

时间:2012-02-29 22:06:20

标签: runtime-error ms-access-2010 subform

运行时错误数据已更改。

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

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

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

出于某些原因退出子窗体时,我收到运行时错误。

模式不明显。

  1. 我可以从子窗体导航到主窗体,而不会在没有收到错误消息的情况下进行任何更改。
  2. 如果我进入子表单,进行更改,退出子表单,文本框将更新,没有任何投诉,但是如果我回到子表单,不要进行更改,然后返回主表单,然后我得到运行时错误
  3. 类似地,在确保行为1为真后,我可以进入子表单,更改某些内容,但如果我尝试返回子表单并进行其他更改,我将收到投诉。 (我能够通过在on enter事件上刷新子窗体来解决这个问题)
  4. 我无法修复运行时错误...... :(

1 个答案:

答案 0 :(得分:0)

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

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

因此,我的工作是重新查询子窗体出口上的主窗体,以便加载和更改新数据。

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

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