添付ファイルのレコードセットの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の
いいアイデアですが、AfterUpdate()イベントとChange()イベントのどちらでもListindex = 0を設定できませんでした。あなたはどこに置いたのですか? –
実際、それは正しいプロパティではないかもしれません.Me.cboName = Me.cboName.Itemdata(0)を試してください - 申し訳ありませんが、私は現時点でそれをテストすることができません。 – Minty
NULLを持つIDは悪い習慣です。その値に0を割り当てます。基本的なテーブルでそれを行うことができない場合は、クエリを作成し、コンボボックスのレコードソースとしてクエリを設定します。クエリは基本的にNZ([ID]、0)をID2として実行します。あなたの問題はあなたの問題に対処する必要がありますので、あなたのデフォルトはID = 0になります。 –