【问题标题】:Microsoft Access can't open a form from inside another form with doCmd.OpenFormMicrosoft Access 无法使用 doCmd.OpenForm 从另一个表单内部打开一个表单
【发布时间】:2020-05-24 23:34:03
【问题描述】:

我对 MS Access 完全陌生,但对数据库不熟悉。我有一个表单,旨在通过按钮打开另一个表单,用户将通过所述表单将记录添加到目标表。主菜单无法打开我的辅助表单,显示“记录集不可更新”。接收记录的表是可编辑的,我可以进入它并手动添加记录,所以这似乎不是问题。如果我通过错误处理程序菜单单击退出错误,我将进入我希望打开的表单,但它是只读的——我看不到它的属性表、设计视图,甚至无法更改视图全部。我查看了主菜单上的 VBA 代码,它确实使用了doCmd.OpenForm "myForm", , , , , ,"New"

任何指针将不胜感激。

【问题讨论】:

  • 您的表单实际上命名为myFormNew 在过滤器参数中,但不是有效的表达式。是表格 RecordSource 表还是查询?
  • @June7 不,这不是实际名称,我只是将其用作示例。我刚刚意识到,“新”在 wong 论点中,它的意思是 doCmd.OpenForm "myForm", , , , , ,"New" 我将编辑这个问题。保存记录的地方是一张表
  • 我知道记录将保存在表格中,因为没有其他地方可以保存它们。问题是:表单的 RecordSource 是什么 - 表或查询或 SQL 语句?你用New参数做什么?
  • @HansUp 这整个设置是几年前由其他人创建的,我不知道“新”部分是什么意思。我认为这是输入新记录的提示,但我想不是。不,如果我从导航窗格打开 myForm,它也是只读的。
  • 谢谢两位的建议

标签: vba ms-access


【解决方案1】:

右键单击您的表单并单击设计视图。添加一个按钮,单击取消并适当地命名该按钮。然后,右键单击该按钮并单击 Build Event > Code Builder > OK。将下面的代码复制/粘贴到按钮单击事件中。

Private Sub Command0_Click()
    DoCmd.OpenForm "name_of_your_form"
End Sub

这应该就是您需要做的所有事情。有时我看到 Access 做了一些非常奇怪的事情。如果我在此处列出的步骤不起作用,请尝试执行压缩和修复以重置数据库中的所有内容,然后添加按钮。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-20
    • 2020-08-04
    • 2016-05-26
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多