Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4249 / 9994 ←次へ | 前へ→

【8992】Re:コンボボックスを使った検索で、シングルコーテーションエラー
お礼  bigote  - 07/1/15(月) 13:24 -

引用なし
パスワード
   ▼YU-TANG さん:

ありがとうございました。
ご指示のとおり、
Replace(Me!コンボ7,"'","''",1,-1,vbBinaryCompare)
と、修正したところうまく動きました。

難問解決でホッとしているのですが、いまひとつ理屈がわかりませんので、もう少しおつきあい願えますか。
まず、Replace関数については、概ね理解しているつもりです。

以下の例では、Where句の部分を単純化するため、Likeをイコールに、ワイルドカード(*)省略としています。

a.
Me!コンボ7の中身が「What is this?」だとすれば、
MUSIC_TITLE="What is this?"
式全体を文字列として扱うので、内側のダブル…をシングル…にして、
"MUSIC_TITLE='What is this?'"
この場合、なんら問題なし。

b.
Me!コンボ7の中身が「What's this?」と「'」を含む場合、
MUSIC_TITLE="What's this?"
"MUSIC_TITLE='What's this?'"
となり、エラーが生じる。
回避策として、
Replace(Me!コンボ7,"'","''",1,-1,vbBinaryCompare)
置換すると以下のようになりますよね。
"MUSIC_TITLE='What''s this?'"
シングルコーテーションの数は対になり、エラーは生じませんが、これで[MUSIC_TITLE]に格納されている「What's this?」が検索できるのが理解できません。
「What」+「s this?」で検索していると考えればよいのでしょうか?
それとも、根本的に考え方が間違っている?

293 hits

【8983】コンボボックスを使った検索で、シングルコーテーションエラー bigote 07/1/13(土) 15:11 質問
【8984】Re:コンボボックスを使った検索で、シングル... YU-TANG 07/1/15(月) 2:02 回答
【8992】Re:コンボボックスを使った検索で、シングル... bigote 07/1/15(月) 13:24 お礼
【8997】Re:コンボボックスを使った検索で、シングル... まさ7251 07/1/15(月) 15:50 発言
【9007】Re:コンボボックスを使った検索で、シングル... bigote 07/1/16(火) 20:04 お礼

4249 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078207
(SS)C-BOARD v3.8 is Free