Forms 访问-下拉列表打开窗体

Forms 访问-下拉列表打开窗体,forms,combobox,expression,ms-access-2010,Forms,Combobox,Expression,Ms Access 2010,请温柔一点,我是新来访问的,但我正在尝试创建一个下拉列表来打开表单。我在谷歌上做了不少搜索,但没有真正找到任何东西 在我的组合框中,无论是更新后还是更改后,我都尝试了以下代码。。。。在我的下拉列表中包含和不包含数据 Private Sub Combo1_AfterUpdate() Select Case Combo1.Value Case "Menu1" DoCmd.OpenForm "Form1" Case "Menu2"

请温柔一点,我是新来访问的,但我正在尝试创建一个下拉列表来打开表单。我在谷歌上做了不少搜索,但没有真正找到任何东西

在我的组合框中,无论是更新后还是更改后,我都尝试了以下代码。。。。在我的下拉列表中包含和不包含数据

Private Sub Combo1_AfterUpdate()

    Select Case Combo1.Value

        Case "Menu1"
            DoCmd.OpenForm "Form1"
        Case "Menu2"
            DoCmd.OpenForm "Form2"
        Case "Menu3"
            DoCmd.OpenForm "Form3"
End Sub
我也试过,

DoCmd.OpenForm Combo1.Value
在组合框中添加我的表单名,但这也不起作用

提前谢谢


.Lee

我刚刚用你尝试的第二种方法制作了一个表单。我想确认这正是您使用的代码:

Private Sub Combo1_AfterUpdate()
DoCmd.OpenForm Combo1.Value
End Sub
这样比较容易。至少在VBA编码方面。您可以使用“设计”选项卡在表单上放置一个组合框,然后选择“我将键入我想要的值”,然后创建两列:

Column1      Column2
Form1 name   Display Name1
Form2 name   Display Name2
Etc.

创建组合框后,单击“设计”视图中的组合框,转到“设计”选项卡中的属性页,将列宽更改为0,这将隐藏第一列,但值仍将绑定到组合框。重要的是要注意,组合框必须是两列,此方法才能工作,并且当您将值直接输入到“行源”下“数据”选项卡上的属性表中时,相同的值将如下所示。表格1名称;显示名称1;表格2名称;显示名称2等。此代码应该很容易工作,但表单名称必须准确,否则将生成错误。让我知道这是否适合您。

你好,rmh,谢谢您回到我身边。我尝试过代码:“code”Private Sub Combo1\u AfterUpdate DoCmd.OpenForm Combo1.Value End Sub“code”,但它不起作用。我也尝试过你建议的两个专栏,但也不起作用:。。。我可以从下拉列表中选择项目,但当我单击例如Display Name 1时,什么也没有发生。我遗漏了什么吗?嗯…如果表单名称拼写错误,它会生成一个错误,所以我猜代码没有运行。你把代码放在哪里?您需要在“设计”视图中打开表单单击组合框,从“设计”选项卡转到属性页,然后在“事件”选项卡上单击“更新后”文本框,然后单击。。。按钮这将询问您要使用哪个生成器,并选择代码生成器。它将自动添加第一行和最后一行,因此如果组合框的名称为Combo1.Hello,则只需在中间添加DoCmd.OpenForm Combo1.Value。好啊我不知道为什么它在新创建的数据库上工作。。。但它确实存在,而且在我当前的数据库中不起作用。我要去看戏,但非常感谢你的时间和帮助。干杯,李安,别担心,如果你还需要什么,请告诉我我已经发现是什么导致了我的问题。。。在表单属性上,需要将“允许编辑”设置为“是”。谢谢你的帮助。