访问引用多列的组合框

时间:2015-06-18 06:28:32

标签: ms-access access-vba

我在表单上有一个组合框,选择后我想运行一个选择查询。

作为查询源的表有许多列:

position name, budget 1, budget 2 budget 3 budget ....budget 12, actual 1, actual 2, 
actual ...12

等。

现在,当我点击"预算"在组合框中,我想运行一个查询 将制作一张表格:

position name, budget 1, budget 2, .....budget 12). 

如果我不准确,请告诉我。

1 个答案:

答案 0 :(得分:0)

根据您的说法,我认为在您学习的这个阶段最简单的方法是创建所需的查询并将其另存为对象,然后使用组合框的After Update事件打开查询。 / p>

创建和保存查询

转到创建>查询设计

enter image description here

选择您的表格,然后点击“添加”

enter image description here

双击要在查询中显示的每个字段

enter image description here

完成后关闭查询,系统会提示您保存并命名

enter image description here

然后保存查询并可随时运行(只需从左侧的导航窗格双击它):

enter image description here

从组合框选择中打开查询

假设您已经创建了表单并在某处添加了带有“预算”选项的组合框,请转到表单的“设计视图”,选择组合框。选中组合框后,转到属性表的“事件”选项卡,然后单击“更新后”事件的[...]按钮:

enter image description here

选择“代码生成器”选项,该选项将打开VBA编辑器

enter image description here

你应该看到这样的事情:

enter image description here

Private Sub Combo0_AfterUpdate()End Sub行开始和结束将在组合框的After Update事件上运行的代码。

在将数据输入到组合框后触发After Update事件,因此无论何时从组合框中选择一个选项,都会触发此事件并运行已在两行代码之间的代码为我们写的。

由于目前没有任何内容,我们需要写一些VBA来让它做你想要的。

  

当我点击组合框中的“预算”时,我想运行一个查询   将制作一张桌子:   position name, budget 1, budget 2, .....budget 12)

所以我们已经在中途,因为我们已经使用所需的输出创建了查询,我们只需要在组合框的After Update事件中打开它。

为此,我们将检查组合框选项是否设置为“预算”,是否,我们将打开之前保存的查询。

if语句和DoCmd.OpenQuery方法可以帮助我们:

Private Sub Combo0_AfterUpdate()

    If _
        Me.Combo0 = "Budget" _
    Then

        DoCmd.OpenQuery "qryBudgets", acViewNormal

    End If

End Sub

现在,当您在表单上选择“预算”时,查询应该会打开。