1

我在表单上有一个组合框,有一个未绑定的列 [系统类型]。我在 Access 的 Macro Builder 中工作,试图设置一个 If 语句。我的最终目标是打开一个表单,取决于未绑定的列。

我似乎无法弄清楚如何引用该列。我试过 [Forms]![My Form]![My Combo].Column(1),但我得到一个无法识别的函数错误。我还从在线搜索中尝试了该声明的变体。

如何在 Access 2010 中的 MacroBuilder 的组合框中为 If 语句引用未绑定的列?

谢谢。

4

1 回答 1

0

如果一个组合只有一列,它是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
于 2013-03-28T16:34:51.773 回答