访问一次打开的一个表单

Posted

技术标签:

【中文标题】访问一次打开的一个表单【英文标题】:Access one form open at a time 【发布时间】:2015-04-30 22:07:49 【问题描述】:

我可以为此做些什么?

我想让 MS 访问一次只打开一个表单。这意味着我将登陆表单作为主表单,当我从主表单中的按钮打开另一个表单时,主表单应该关闭并只保留我打开的表单。同样,当我使用关闭按钮关闭此表单时,它应该返回主表单。如何做到这一点?我曾尝试使用宏,但宏只允许打开主窗体,但在我打开另一个窗体时不会关闭主窗体。任何帮助将不胜感激。

【问题讨论】:

宏绝对应该允许您这样做,因为您可以使用多个事件。首先,使用Open From 事件打开所需的表单,然后使用Close Window 事件关闭主表单。当然输入,对应的表单名称作为参数。 【参考方案1】:

您可以在对话框模式下打开表单,这将允许用户仅在该表单中工作,直到它被关闭。任何其他表单都将保留在其后面的屏幕上,但在对话框表单关闭之前,用户无法使它们成为焦点。

因此,在您的主表单上,您有一个打开表单的按钮。在属性表中,单击事件选项卡。选择 ... 并选择“代码生成器”。然后编辑点击过程看起来像:

Private Sub btnOpenMyForm_Click()
On Error GoTo Err_btnOpenMyForm_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "frmMyForm"
    DoCmd.OpenForm stDocName, acNormal, , , , acDialog

Exit_btnOpenMyForm_Click:
    Exit Sub

Err_btnOpenMyForm_Click:
    MsgBox Err.Description
    Resume Exit_btnOpenMyForm_Click

End Sub

如果您使用按钮向导,它将创建与此非常相似的代码...您只需将 acDialog 常量添加到 OpenForm 方法的参数中。

【讨论】:

你可以把它放在你的主窗体中。当用户单击按钮打开表单时,您将使用此代码打开表单。当用户关闭对话框表单时,主表单将重新成为焦点。 感谢您的帮助。但我真的无能为力。对不起,如果我太笨了! 我会尝试在我的答案中添加更多细节,看看是否有帮助。

以上是关于访问一次打开的一个表单的主要内容,如果未能解决你的问题,请参考以下文章

访问 - 使用 where 子句打开表单

访问当前记录上的 VBA 打开表单

在表单中打开焦点组合框(访问 2013)

使用 VBA 未打开表单时在访问中更新表单

访问 2016 表单按钮以根据当前记录打开报告

打开从 Excel 工作表单元格中选择的特定记录的访问表单