• ベストアンサー

Accessの値リストについて

既存(第三者が作成)のAccessファイルをみると、リストボックスの値リストに文字列を利用する際に、「"」(ダブルコーテーション)で囲まれた場合と、囲まれていない場合があります。 私の環境(Windows7+access2007、XP+2003)でウィザードを使ってリストボックスを作成した際は、「”」で囲まれた形で作成されます。 「”」で囲まれないで作成されるのは、どのような場合でしょうか? ちなみに、どちらもAccessとしては問題ありません。 値リストの例)   aaa;bbb;ccc   "aaa";"bbb";"ccc"

質問者が選んだベストアンサー

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

こちらの環境はXP+2003になります。 > 「”」で囲まれないで作成されるのは、どのような場合でしょうか? まず念のためにですが(汗)、ウィザードを使用せずに手入力した場合は、 特に自動的に囲まれることはありません。 (「aaa;bbb;ccc」「"aaa";"bbb","ccc"」「aaa;"bbb",ccc」と入力すれば  入力した通りに記録されます) 一方、ウィザードを使用した場合は、個々の項目が「数値」とみなせる 場合は囲まれず、それ以外では「"」で囲まれるようです。 (ウィザード上で「1」「"2"」「3」「4e5」を指定すると、『値集合ソース』  プロパティでは「1;""2"";3;4e5」と記録される) ※「4e5」は、指数(4×10^5)とみなされているものと思います。 おそらく、本来はリストボックスに表示する選択肢のどれかが「;」を含む 場合のみ「"」で囲めば済む話だと思うのですが、それだとAccess内部 で各項目の文字を1つずつすべてチェックする必要が発生するため、 それを簡略化させるために、「数値のみ括らず、それ以外は括る」という ロジックを選択した・・・ということではないかと思います。 (現在のPCなら、前者の手段を採っても一瞬で終わる処理ですが(汗))

YossyTp
質問者

お礼

丁寧な回答ありがとうございます。 作成段階でウィザードを使用したかどうかの違いみたいですね。 マニュアル・参考書等には記述されていない(探せないだけかもしれませんが・・・)ことなので、勉強になりました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう