2017-03-02 2 views
0

添付ファイルのレコードセットの1つのインデックスとしてNull値が含まれ、レコードセットの2番目の列を表示するように設定されたComboBoxコントロールを持つアクセスフォームがあります。Access ComboBoxのNullインデックス値

リストを開くと、インデックスとしてNullを含む行を含むすべての行が表示され、選択できますが、AfterUpdateイベントが終了すると表示されたテキストが消去されます。

Nullの2番目の列を表示したいのですが、それを達成できません。これはNullが何もない(それ自体ではない)ことによると思われますが、回避策がありますか?データベースの

例:

Id  Description 
+------+-------------+ 
|  | Default  | 
|1  | Choice 1 | 
|2  | Choice 2 | 
. 
. 
. 

私はコンボボックスで「デフォルト」を選択した場合、値が正しくNullに設定されますが、表示されるテキストは空です。 「選択1」(または「選択2」)を選択した場合、値は正しく1に設定され(2)、コンボボックスの表示値は「選択1」(「選択2」)になります。

編集:互換性の理由から、解決策は、あなたがコンボボックスの最初の値を選択するMyCombo.ListIndex = 0を使用することができますAccess 2007の

答えて

0

と協力しなければなりません。 メモリからの値は設定されませんが、正しく表示されます。

+0

いいアイデアですが、AfterUpdate()イベントとChange()イベントのどちらでもListindex = 0を設定できませんでした。あなたはどこに置いたのですか? –

+0

実際、それは正しいプロパティではないかもしれません.Me.cboName = Me.cboName.Itemdata(0)を試してください - 申し訳ありませんが、私は現時点でそれをテストすることができません。 – Minty

+0

NULLを持つIDは悪い習慣です。その値に0を割り当てます。基本的なテーブルでそれを行うことができない場合は、クエリを作成し、コンボボックスのレコードソースとしてクエリを設定します。クエリは基本的にNZ([ID]、0)をID2として実行します。あなたの問題はあなたの問題に対処する必要がありますので、あなたのデフォルトはID = 0になります。 –

関連する問題