如何在 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 组合框中,如何将表单值用作 where 类
在组合框中使用向下/向上箭头键选择数据而不更新数据,直到点击选项卡或输入 MS Access
在 MS-Access 中,当外键不再存在时,如何在组合框中显示旧的外键?