Accessでコンボボックスに、VBAで取得したレコードセットの値を代入しても表示されない場合の対処法。
原因としては、コンボボックスの連結列に指定してある列(コンボボックスのコントロールソースのフィールドで実際にコンボボックスに表示されるフィールドでもある)の値とVBAで取得した値が異なる場合に表示されない現象が発生する。
データ型やデータ自体が違うので当たり前といえば当たり前な話。
なので、レコードセットで取得した値とコンボボックスのコントロールソースのテーブル/クエリのフィールドの連結列として指定された値を一致させる必要がある。
方法としては、
- コンボボックスの連結列をレコードセットの値と同一のフィールド(データ型)になるように変更する
- レコードセットの値がコンボボックスの連結列の値と同じフィールド(データ型)になるようにする
要は、コンボボックスの連結列の値に合わせるか、レコードセットの値に合わせるか、という違い。
たぶん①になることが多いんじゃないかな。