- ベストアンサー
文字列を括る時は、”” or ’’ ?
エクセル2003のVBAでADOを使ってるのですが 「テキスト・文字列を括る場合はダブルコーテーション」と習ったのですが http://www.geocities.jp/cbc_vbnet/ADO/filter.html を見てると 「テキスト型のフィールド・変数はシングルコーテーションで囲みます」と記載されています。 なぜダブルコーテションじゃなくなってしまったのでしょうか? 頭が混乱しています。 ADOを使う時は特別なのですか? ご回答よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
SQLの規格書を読む元気はないですが、SQLでは文字列をシングルクォーテーションで囲むのが標準で、そこから来ているのではないでしょうか。 少し検索してみた限りでは、Access: シングル、ダブル共使える(ADOで使えるかどうかとは別の話です)。Oracle:ダブルは別の意味を持つ。MySQL:ダブルの場合は文字列中の変数表現を、値に置き換える。という様に、ダブルは別の意味を持つ場合があるそうです。 ところで、参照されたURLに 「テキスト型のフィールド・変数はシングルコーテーションで囲みます」 なんて書いてないとおもいます。 「抽出する値をシングルクォーテーション(’)で囲みます。」 「変数で指定する場合も,シングルクォーテーションが必要です。」 です。 後者はSQL文を変数を用いて動的に生成する場合、変数に値を代入する際に、 A="'文字列'"としろという意味です。 自分だけかもしれませんが、忘れて悩みがちなので、念のため。 ところで、参考URLですが、AcrobatReaderのバージョンが古いと白紙しか表示されませんので、ご留意下さい。 今入力しているPCはAcrobat7が入っていますが、見られませんでした。
お礼
SQLから来ているのですね。 >「テキスト型のフィールド・変数は シングルコーテーションで囲みます」 なんて書いてないとおもいます。 読み返してみましたが、私の勘違いでしたね。 ご指摘ありがとうございます。 ADOを使う時は、文字列でも変数でも シングルコーテーションで括るようにします。 PDFは閲覧できました。 しかし難しいですね・・・汗 ありがとうございました。大変参考になりました。