我希望有人可以帮助我,或者至少帮助找出解决方法。
我正在使用 Access 2007 的拆分表单功能,并在 Form_Open 事件以及两个 button_click 事件之后运行下面的代码。该代码在 button_click 事件之后运行时工作正常,但是当它在 form_open 事件上运行时,它会导致问题。
如果打开表单并且用户在第一个字段中输入文本,他/她不能使用 Tab 或鼠标选择下一个表单字段。用户停留在第一个表单域,直到按 Esc 取消数据输入。为了在打开表单时在第一个表单域中成功输入数据,用户必须先选择另一个表单域,然后重新选择第一个表单域,然后在第一个表单域中输入文本。在此废话之后,用户可以使用 Tab 或鼠标选择下一个表单域。每次启动表单时都必须执行一次。button_click 事件上的相同 VBA 代码可以正常工作。
值得注意的是:首次打开表单时,表单的数据表部分中没有一个表单字段出现“已选择”。当用户开始在第一个表单字段中输入数据时,“新记录”标记 (*) 会按原样移至第二行,但第一行不显示正在输入的数据。这种行为很奇怪。
执行清除字段后,单击另一个字段,单击返回到上述第一个字段解决方法,数据表显示正确选择的字段和输入的数据。
有任何想法吗?这是一个错误吗?是否有简单的解决方法,例如在打开表单时通过 VBA 执行字段选择解决方法?
任何帮助深表感谢。
代码:
DoCmd.ApplyFilter , "([Contractor].[CheckOutStamp] Is Null)"
DoCmd.GoToRecord , "", acNewRec