在将表单更改为“设计视图”和“设计视图”之前,MS-Access 2007表单无法编辑数据。回到窗体视图

时间:2016-02-13 06:45:23

标签: forms vba ms-access

更新:手动丢失表单并重新打开它也会导致编辑被允许,请参阅下面的步骤4和下面的“附加说明”部分。谢谢!

我在故障排除期间简化了大量的MS-Access 2007数据库仍存在同样的问题:

  1. 重新启动Access并打开数据库
  2. autoexec调用一个初始化一些TempVars的vba函数,然后打开一个表单:`DoCmd.OpenForm FormName:=“MainEditor”
  3. 所有绑定和未绑定文本框和组合框显示其数据 正确,但可以编辑其中任何一个。忽略击键,组合框上的下拉列表正确显示选项列表,但无法选择。
  4. 将表单视图更改为“设计视图”,然后立即将其更改回“表单视图”。或者,手动关闭表单,然后重新打开它。
  5. 所有控件都会继续正确显示数据,但现在全部显示 它们可以正常编辑。
  6. 更改为“设计视图”并返回“表单视图”后,表单可以正常编辑,直到“Access”关闭并重新启动。

    附加说明: 我尝试在Autoexec宏调用的启动函数中的原始DoCmd.Close之后立即添加DoCmd.FormOpenDoCmd.FormOpen,但表单仍然无法接受编辑。手动关闭表单,然后手动重新打开它,似乎每次都有效。在打开表单之前是否有可能需要延迟处理,并且手动执行关闭/打开周期会提供该时间窗口?

    以下是一些背景知识:

    • Table有一个主索引,另外4个索引,以及与其他7个表的一对多关系。
    • 表格的记录来源是表格,允许编辑=是。
    • 表单上的所有控件都已设置:Enabled = Yes,Locked = No.
    • 没有子表单,只有一个表单。

    这不是很多。如果您要求进一步说明,我很乐意提供。

    谢谢。戴夫

1 个答案:

答案 0 :(得分:1)

不使用Autoexec宏,而是指定启动表单。