基于 ComboBox Access 2010 的打开表单
Posted
技术标签:
【中文标题】基于 ComboBox Access 2010 的打开表单【英文标题】:Open Form based on ComboBox Access 2010 【发布时间】:2013-03-28 16:31:07 【问题描述】:我在表单上有一个组合框,其中有一个未绑定的列 [系统类型]。我在 Access 的 Macro Builder 中工作,试图设置一个 If 语句。我的最终目标是打开一个表单,这取决于未绑定的列。
我似乎不知道如何引用该列。我已尝试 [Forms]![My Form]![My Combo].Column(1),但我收到无法识别的函数错误。我还通过在线搜索尝试了该语句的变体。
如何在 Access 2010 中的 MacroBuilder 的组合框中为 If 语句引用未绑定的列?
谢谢。
【问题讨论】:
【参考方案1】:如果一个组合只有一列,它是column(0),或者只是[MyCombo],我想你错过了有两种类型的组合绑定,它可以绑定到表中的一个字段并且你可以有一个绑定列,它是组合返回的值。
Row Source : SELECT Atext FROM ATable
Bound Column : 1
Column Count : 1
MsgBox Me.myCombo ''Atext
Row Source : SELECT ID, Atext FROM ATable
Bound Column : 1
Column Count : 2
MsgBox Me.myCombo ''ID
MsgBox Me.MyCombo.Column(1) ''Atext
Row Source : SELECT ID, Atext FROM ATable
Bound Column : 2
Column Count : 2
MsgBox Me.myCombo ''atext
MsgBox Me.MyCombo.Column(0) ''ID
所以要从这个表单打开一个表单:
DoCmd.OpenForm "aForm",,,"ID=" & Me.MyCombo ''First example
从另一种形式
DoCmd.OpenForm "aForm",,,"ID=" & Forms!AnotherForm.MyCombo ''First example
DoCmd.OpenForm "aForm",,,"Atext='" _
& Forms!AnotherForm.MyCombo.Column(1) ''Second example
【讨论】:
我的组合框设置类似于第二个示例。看来我的语法是错误的。我正在使用 [Forms]![My Form]![School Combo].[Column](1) 正确的是 [Forms]![My Form].[School Combo].[Column](1)。区别在于! [My Form] 和 [School Combo] 之间应该是 .感谢您的帮助。以上是关于基于 ComboBox Access 2010 的打开表单的主要内容,如果未能解决你的问题,请参考以下文章
专业的基于 jQuery 的 Combobox 控件? [关闭]
使用 MS Access 中的 Linq 填充 ComboBox
MS Access Form:使用第一个 Combobox 的值来过滤第二个 Combobox 的选项?
如何在 Access2007 中使用基于 Visual Studio (2008/2010) 构建的 XML Web 服务