• ベストアンサー

文字列を括る時は、”” or ’’ ?

エクセル2003のVBAでADOを使ってるのですが 「テキスト・文字列を括る場合はダブルコーテーション」と習ったのですが http://www.geocities.jp/cbc_vbnet/ADO/filter.html を見てると 「テキスト型のフィールド・変数はシングルコーテーションで囲みます」と記載されています。 なぜダブルコーテションじゃなくなってしまったのでしょうか? 頭が混乱しています。 ADOを使う時は特別なのですか? ご回答よろしくお願いします。

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

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

SQLの規格書を読む元気はないですが、SQLでは文字列をシングルクォーテーションで囲むのが標準で、そこから来ているのではないでしょうか。 少し検索してみた限りでは、Access: シングル、ダブル共使える(ADOで使えるかどうかとは別の話です)。Oracle:ダブルは別の意味を持つ。MySQL:ダブルの場合は文字列中の変数表現を、値に置き換える。という様に、ダブルは別の意味を持つ場合があるそうです。 ところで、参照されたURLに 「テキスト型のフィールド・変数はシングルコーテーションで囲みます」 なんて書いてないとおもいます。 「抽出する値をシングルクォーテーション(’)で囲みます。」 「変数で指定する場合も,シングルクォーテーションが必要です。」 です。 後者はSQL文を変数を用いて動的に生成する場合、変数に値を代入する際に、 A="'文字列'"としろという意味です。 自分だけかもしれませんが、忘れて悩みがちなので、念のため。 ところで、参考URLですが、AcrobatReaderのバージョンが古いと白紙しか表示されませんので、ご留意下さい。 今入力しているPCはAcrobat7が入っていますが、見られませんでした。

参考URL:
http://www.jisc.go.jp/app/pager?%23jps.JPSH0090D:JPSO0020:/JPS/JPSO0090.jsp=&RKKNP_vJISJISNO=X3005-9
pcexy
質問者

お礼

SQLから来ているのですね。 >「テキスト型のフィールド・変数は シングルコーテーションで囲みます」 なんて書いてないとおもいます。 読み返してみましたが、私の勘違いでしたね。 ご指摘ありがとうございます。 ADOを使う時は、文字列でも変数でも シングルコーテーションで括るようにします。 PDFは閲覧できました。 しかし難しいですね・・・汗 ありがとうございました。大変参考になりました。

関連するQ&A

専門家に質問してみよう