使用 Access 在 VBA 中进行数据库设计/打开表单 CLICK EVENT:特定查询
Posted
技术标签:
【中文标题】使用 Access 在 VBA 中进行数据库设计/打开表单 CLICK EVENT:特定查询【英文标题】:Database Design/Open Form CLICK EVENT in VBA using Access: Specific Inquiry 【发布时间】:2015-10-13 22:43:47 【问题描述】:我希望在“主要信息”表单中编写一个单击事件,该事件将根据在多答案查找字段组合控件中选择的值(对应于数字 ID 字段/文本字符串)打开多达 17 个其他表单通过一个独立的、单独的表格相关的类别)位于该“主要信息”表格中。
我知道这是通用代码:
Private Sub DiagCat_AfterUpdate()
Select Case DiagCat
Case "Cancer [140-208]"
DoCmd.OpenForm (Cancer_Form)
Case "Heart Disease [393-398, 402, 410-429]"
DoCmd.OpenForm (Heart_Disease_Form)
Case "Stroke [430-438]"
DoCmd.OpenForm (Stroke_Form)
Case "Diabetes [250]"
DoCmd.OpenForm (Diabetes_Form)
Case "Hypertension [401]"
DoCmd.OpenForm (Hypertension_Form)
Case "Liver Disease [070, 571-573]"
DoCmd.OpenForm (Elevated_Cholesterol_Form)
End Select
End Sub
VBA 现在发出“类型不匹配”错误 13;错误在 'Case "Cancer [140-208]"' 行上执行。
谢谢。非常感谢任何帮助。
【问题讨论】:
您最好告诉我们哪一行代码触发了错误。这可能是罪魁祸首:DoCmd.OpenForm (Cancer_Form)
Cancer_Form
是什么? OpenForm
需要表单名称作为字符串值,所以我猜 Cancer_Form 是表单的名称,您应该使用:DoCmd.OpenForm "Cancer_Form"
不需要括号。
将Option Explicit
添加到代码模块的声明部分。然后从 VB 编辑器的主菜单运行 Debug->Compile。修复编译器抱怨的任何问题,然后重复编译/修复,直到不再出现编译错误。
非常感谢 HansUp!我会试试这个。如果Form标题中没有下划线,应该是“Cancer Form”吗?
是的,我想是的。仔细检查导航窗格中的表单名称。不管它显示在那里,将匹配的文本放在引号之间:DoCmd.OpenForm "<form Name>"
不幸的是,在我添加“Option Explicit”并更正 DoCmd 之后的所有表单名称后,我仍然在“Case“Cancer [140-208]”行收到类型 13 不匹配错误- 不确定我做错了什么。无论如何,感谢您的所有帮助。
【参考方案1】:
Select Case
关键字是您根据字段的多个值选择操作所需的。
Private Sub cmdOpen_Click() 'where cmdOpen is the button control clicked to open the forms
Select Case cmbDxCatsID 'assuming cmbDxCatsID is the name of the combobox control on the form
Case 1
DoCmd.OpenForm(Form1)
Case 2
DoCmd.OpenForm(Form2)
'etc.........
End Select
End Sub
【讨论】:
非常感谢!非常感谢! 哎呀- *** 的新手- 我点击了检查- 我认为接受它。再次感谢! 所以不幸的是,即使我认为这是解决此问题的正确方法,我仍然遇到错误。用于生成“选择案例” DoCmds 的特定组合框实际上是一个下拉框,它使用 SQL 从另一个独立的表中生成 LookUp 值。我试图让案例成为可以选择的类别的特定文本字符串,但 Access/VBA 一直告诉我存在“类型不匹配”;无论如何要引用每个查找值所引用的表/字段/值?我这样做完全错了吗? 我还尝试将“单击事件”从独立按钮移动到下拉组合框控件本身,以在更新后事件上打开表单:以上是关于使用 Access 在 VBA 中进行数据库设计/打开表单 CLICK EVENT:特定查询的主要内容,如果未能解决你的问题,请参考以下文章