如何在 Ms Access 的组合框中单击按钮并打开与值相关的表单?

Posted

技术标签:

【中文标题】如何在 Ms Access 的组合框中单击按钮并打开与值相关的表单?【英文标题】:How to make to click in button and open form releated in value in combox in Ms Access? 【发布时间】:2019-02-22 17:20:58 【问题描述】:

我打开一个如下所示的表单:How to use combobox to open specific form in Ms Access

但我还是有问题。当我单击该按钮时,它会立即打开两个表单。我要做的是,当combobox中的值为1时,只打开form 1,当combobox中的值为2时,打开form 2。

我应该更正宏中的某些内容吗?我该怎么做?

【问题讨论】:

欢迎来到 SO。请显示您的代码和组合框的值 我使用宏openform,combobox的值为Color1,Color2,Color3 OpenForm 条件 Where [Forms]![Test1]![txtTest]='Color1' and OpenForm Condition where [Forms]![Test2]![txtTest]='Color2' 也许我应该添加宏如果,但我不知道怎么做? 如果两者的数据源相同,为什么要使用 2 个表单?使用 1 种形式并应用过滤器,这就是 WHERE 参数的用途。 【参考方案1】:

我个人不喜欢这个宏生成器。 这是使用 VBA 的正确方法。

选择您的组合框并进入事件。在 更新后 事件中,使用“代码生成器”选项删除宏代码并添加 VBA 代码

你的代码应该是这样的:

Private Sub ComboBoxColor_AfterUpdate()

    On Error GoTo Err_Handler

    Dim strForm As String

    Select Case ComboBoxColor.Value

        Case "Color1"
            strForm = "Form1"

        Case "Color2"
            strForm = "Form2"

        Case "Color3"
            strForm = "Form3"

        Case Else
            MsgBox "I don't know what to do with this combobox value"
            GoTo Exit_Sub
    End Select

    DoCmd.OpenForm strForm, acNormal

Exit_Sub:
    Exit Sub

Err_Handler:
    MsgBox Err.Description, vbExclamation, "Error " & Err.Number
    Resume Exit_Sub

End Sub

使用正确的名称调整 ComboBoxColor,当然 Form1/Form2/Form3 使用您的表单名称(如果需要,还可以使用 Color1/Color2/color3)

【讨论】:

这是我的正确代码,你能看到吗,因为总是显示消息我不知道如何处理这个组合框值 Private Sub 因为您必须使用组合框中定义的值来调整 COlor1、COlor2、Color3 Polecenie126_Click() On Error GoTo Err_Handler Dim strForm As String Select Case txtTest.Value Case "Gloss" strForm = "Test1" Case "Coolant" strForm = "Test2" Case "Thickness" strForm = "Test1 " Case Else MsgBox "我不知道如何处理这个组合框值" GoTo Exit_Sub End Select DoCmd.OpenForm strForm, acNormal Exit_Sub: Exit Sub Err_Handler: MsgBox Err.Description, vbExclamation, "Error " & Err.Number Resume Exit_Sub结束子 不,我改了 在我的组合框中的值是冷却剂、光泽度和厚度。对不起,我犯了错误:(

以上是关于如何在 Ms Access 的组合框中单击按钮并打开与值相关的表单?的主要内容,如果未能解决你的问题,请参考以下文章

使用按钮从组合框中将值传递给文本框单击 MS ACCESS

在 MS Access 组合框中,如何将表单值用作 where 类

在组合框中使用向下/向上箭头键选择数据而不更新数据,直到点击选项卡或输入 MS Access

在 MS-Access 中,当外键不再存在时,如何在组合框中显示旧的外键?

如果表单未绑定,如何选择 MS Access 组合框中的第一项

单击列表框时,如何在文本框中以另一种形式从ms access 2010中的列表框中移动所选项目