• ベストアンサー

access2003での質問です。

access2003での質問です。 更新クエリの抽出条件で Like '*"#000000"*' としても抽出できません。 この文字は、必ず含まれているはずなのにどうしてでしょうか?? どなたかご教授お願いいたします!!!! ※もともとは Like '*<hr width="570" align="left" size="1" color="#000000">*' で検索しようとしましたが、できず、 細かく、どこができないか調べていくと Like '*"#000000"*' の部分でした。

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

  • ベストアンサー
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.1

ワイルドカード文字の使用について http://office.microsoft.com/ja-jp/access-help/HP005188185.aspx Like 演算子 http://office.microsoft.com/ja-jp/access-help/HP001032253.aspx?CTT=5&origin=HP001032250 Jet SQL では「#」もワイルドカード文字です。 Like "#" は Like "[0-9]" の意味になります。 上記にもありますが「#」自体を検索するには Like '*<hr width="570" align="left" size="1" color="[#]000000">*' のように [ ] で囲みます。

その他の回答 (2)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

補足) >更新クエリの抽出条件で 更新クエリでしたら、Likeのあいまい条件でなくて、 レコードを特定できる条件のが望ましいです。 誤って、 更新したくなかったレコードを更新してしまうと困るので、 そういう事象はないか、実行の際に注意してください。 代替案ですが、 instr関数など使って、 「<hr width="570" align="left" size="1" color=」が存在するもの かつ 「"#000000"」が存在するもの でもおおよそ抽出できるかもしれません。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

Likeを使った検索について、ですが。 http://office.microsoft.com/ja-jp/access-help/HA001171536.aspx に特殊記号の検索について書いてありますが、 検索対象に特殊な文字が含まれている場合は 検索からはずれることがあります。とくに 記号としての#はかなり特殊のようです。 質問の中で検索されないのは、 #000000 とされていましたが、検索からはずれているのは #記号が含まれているからのようです。 http://support.microsoft.com/kb/883157/ja のような情報もありますが、検索対象が特殊文字 ならばいいのですが、特殊文字を含む場合、 とくに#の場合はやっかいのようです。というのも、 たとえば、#を*や%で置き換えても検索されます。 また、質問の文字列の適当なところに#を置いて #を含む文字列を検索すると見事にはずれます。 *や%は含まれていても検索されます。 ところが、#、すなわち文字としてのシャープは 検索されます。記号としての#はかなり特殊な もののようです。 普段、シャープ記号はいろいろな検索や変換 などで何気なく使っていますが、質問者さんの 内容をみていろいろ調べてみると、他のワイルカード、 たとえば、*、?、% などと違って#はかなり 特殊な記号のようです。 もし、どのような文字が含まれているかわからないときの Likeを使った検索については関数を作ったほうがいいかも しれません。他にも#と同じ挙動を示す記号は今のところ 見当たりません。 回答になっていませんが、いろいろ調べた結果 だけ報告しておきます。

infumi1126
質問者

お礼

わざわざありがとうございます。 参考にさせていただきます!!

関連するQ&A