1

バインドされていない列 [システム タイプ] を含むフォームにコンボボックスがあります。Access の Macro Builder で作業し、If ステートメントをセットアップしようとしています。私の最終目標は、バインドされていない列に応じてフォームを開くことです。

その列を参照する方法がわかりません。[フォーム]![マイ フォーム]![マイ コンボ].Column(1) を試しましたが、認識できない関数エラーが発生します。また、オンライン検索からそのステートメントのバリエーションを試しました。

Access 2010 のマクロビルダーのコンボボックスでバインドされていない列を If ステートメントで参照するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

0

コンボに列が1つしかない場合、それはcolumn(0)、または単に[MyCombo]です。コンボには2つのタイプのバインドがあり、テーブルのフィールドにバインドでき、次のことができることを見逃していると思います。これは、コンボによって返される値です。

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 に答える