- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:RowSource プロパティ)
Access VBAでコンボボックスの値を設定する方法
このQ&Aのポイント
- Access VBAを使用してコンボボックスの値を設定する際には、RowSourceプロパティを使用します。
- RowSourceTypeを「値リスト」とし、RowSourceに値を指定します。
- 文字列を指定する場合、ダブルコーテーションで囲んで指定する方が良いです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- DexMachina
- ベストアンサー率73% (1287/1744)
回答No.3
値集合タイプ(RowSourceType)プロパティを「値リスト」に設定した場合、 値集合ソース(RowSource)プロパティでは「,(カンマ)」/「;(セミコロン)」が ともに区切り文字として認識されます。 (但し、カンマは、プロパティ設定後に、自動でセミコロンに変換されます) ですので、 a)選択肢の中に上記の区切り文字を含む値がある場合は「"/'」で括り、 含まない場合は括らない という場合分けが考えられます。 (更に、ある項目でのみ区切り文字を含む場合、含むもののみを「"/'」で 括る、という考え方もあり得ます) その一方で、選択肢の構成によって「"/'」による括りの有無を切り替える ことにしてしまうと、後々メンテナンスで一括で更新・変換を掛けようとした 際に、余計な場合分けが必要になる可能性があります。 そういう意味では、 b)文字列型の列の項目は一律「"/'」で括り、数値型の列の項目は 括らない c)列毎のデータ型に拘わらず、全ての項目を「"/'」で括る という対応もあり得ます。 (コンボボックスの『列数(ColumnCount)』プロパティが「2」以上の場合も 含めた想定で説明をしていますので、ご注意のほど) 『「"/'」で括る必要がないことがわかっているのに敢えてそれを入力する 手間』と、『不統一性による弊害の可能性』をどう考えるか、ということに なりますので、これらのメリット・デメリットを踏まえた上で、後は個人の 好み・判断ということになるかと思います。 因みに、私の場合は「b」がメイン・・・だったはず(汗) (それ以前に、『値集合タイプ』=「テーブル/クエリ」が専らではありますが)
質問者
お礼
ありがとうございました。
- chayamati
- ベストアンサー率41% (260/624)
回答No.1
お礼
ありがとうございました。