访问 - 下拉列表打开表单

时间:2015-03-25 14:58:41

标签: forms combobox expression ms-access-2010

请保持温和,我是新手,但我正在尝试创建一个打开表格的下拉列表。我做了很多谷歌搜索,但没有找到任何东西。

在“更新后”和“更改后”的ComboBox上,我尝试了以下代码....我的下拉列表中有和没有数据。

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

并在ComboBox中添加我的表单名称,但这也不起作用。

先谢谢。

.Lee

2 个答案:

答案 0 :(得分:0)

我刚刚使用您尝试的第二种方法创建了一个表单。我想确认这是您使用的确切代码:

Private Sub Combo1_AfterUpdate()
DoCmd.OpenForm Combo1.Value
End Sub

这种方式更容易。 (至少在VBA编码方面)。您可以使用设计选项卡在表单上放置一个组合框,然后选择“我将输入我想要的值”,然后您将创建两列:

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

创建组合框后,在设计视图中单击组合框并转到属性表(在“设计”选项卡中)并将列宽更改为“0”,这将隐藏第一列但值仍将绑定到组合框。重要的是要注意组合框必须是两列才能使用此方法,并且当您将值直接输入到行源下数据选项卡上的属性表中时,相同的值将是相同的。(“Form1 name” “;”显示名称1“;”表单2名称“;”显示名称2“等。)此代码应该非常容易,但表单名称必须准确或者会产生错误。请告诉我这是否适合您。

答案 1 :(得分:0)

私有子组合1_AfterUpdate()

Select Case Combo1.Value

    Case "Menu1"
        DoCmd.OpenForm "Form1"
    Case "Menu2"
        DoCmd.OpenForm "Form2"
    Case "Menu3"
        DoCmd.OpenForm "Form3"
End Select 'this was missing in your code'
End Sub