我在表单上有一个组合框,有一个未绑定的列 [系统类型]。我在 Access 的 Macro Builder 中工作,试图设置一个 If 语句。我的最终目标是打开一个表单,取决于未绑定的列。
我似乎无法弄清楚如何引用该列。我试过 [Forms]![My Form]![My Combo].Column(1),但我得到一个无法识别的函数错误。我还从在线搜索中尝试了该声明的变体。
如何在 Access 2010 中的 MacroBuilder 的组合框中为 If 语句引用未绑定的列?
谢谢。
我在表单上有一个组合框,有一个未绑定的列 [系统类型]。我在 Access 的 Macro Builder 中工作,试图设置一个 If 语句。我的最终目标是打开一个表单,取决于未绑定的列。
我似乎无法弄清楚如何引用该列。我试过 [Forms]![My Form]![My Combo].Column(1),但我得到一个无法识别的函数错误。我还从在线搜索中尝试了该声明的变体。
如何在 Access 2010 中的 MacroBuilder 的组合框中为 If 语句引用未绑定的列?
谢谢。
如果一个组合只有一列,它是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