Access

コンボボックスのColumnプロパティにメモ型は使えない?

Accessコンボボックス
記事内に商品プロモーションを含む場合があります

コンボボックスのcolumnプロパティ使ってますか?

コンボボックスの設定

以下のようなコンボボックスがあります。

コンボボックス

コンボボックスの値集合タイプはテーブルで、値集合ソースは以下のようになっています。

データソース

コンボボックスに表示されている値が4項目なのは列数5に対して最初の項目の表示幅を0cmにしているためです。連結列はKEY項目である顧客IDですが、表示は非表示にしています。

コンボボックス列幅

columnプロパティの使い方

先の例では顧客名~都道府県までのコントロールソースに顧客コンボボックスのcolumnプロパティを使うことで、コンボボックスの値選択と各値が連動するように設定しています。

columnプロパティ

「顧客フリガナ」から「都道府県」は表示のみで編集することはできません。

columnプロパティの引数()内の添え字は、値集合ソースの表示列の順番(0から数える)です。

データソース

Columnプロパティの制約

そんな便利なColumnプロパティですが、メモ型は使えないということが分かりました。

テキスト型でも255文字まで使えるのでメモ型なんてそうそう使いませんが、今回は諸事情によりコンボボックスのソースから取得したい項目がメモ型でした。

いつものようにcolumnプロパティを使ってテキストボックスに選択値の長文(備考)をセットしようとしたのですが、どうも文章が途中で切れてしまいます。

どこで切れているのか調べましたら255文字で勝手に切られていました。

設定などでメモ型のデータを表示できないものかとあれこれ調べましたが、どうもそういった機能はないようです。

という訳で、メモ型の項目はColumnプロパティでは取得できない(取得できるけどデータが一部欠損する)ので、お気をつけください。

どうしてもコンボボックスに表示しているメモ型を取得したければ、コンボボックスの更新後処理で、値ソースから該当のメモ型フィールドを取得し、テキストボックスに代入しましょう。

メモ型テキスト型
Accessの文字列型とメモ型の違い~メモ型を利用する場合の注意点Accessでテキストを格納するフィールドの型はメモ型とテキスト型の2種類があります。テキスト型は255文字までななのでもっと長い文字を格納する必要があればメモ型を使うことになります。メモ型には制限事項や注意点も多いので2つの型の違いを理解した上でメモ型を使いましょう。...
ABOUT ME
アズビーパートナーズ
プログラマー→社内SE→SIerのお仕事をしています。 メーカー勤務を経て、中小企業の社内SE、フリーランスなど様々な形態で働いてきました。 業務上生まれた困った…を解決してきたTipsを備忘録も兼ねて公開しています。 困っている誰かのお役に立てれば幸いです。