• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ADOでアポストロフィー入りの値をフィルタしたい)

ADOでアポストロフィー入りの値をフィルタする方法を教えてください

このQ&Aのポイント
  • ADOを使用してアポストロフィー入りの値をフィルタする方法を教えてください。
  • 質問文章のVBAコードでアポストロフィー入りの値をフィルタすると実行時エラー3001が発生します。
  • このエラーの原因と、解決する方法を教えてください。

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

  • ベストアンサー
  • m3_maki
  • ベストアンサー率64% (296/460)
回答No.1

rs.Filter = "フィールド1 = " & """あああ'ああ""" ですね。

AXWNPWQTPCI
質問者

お礼

ご回答ありがとうございました。

その他の回答 (2)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.3

rs.Filter = "フィールド1 = " & "'あああ'ああ'" ↓ rs.Filter = "フィールド1 = " & "'あああ''ああ'" のように、'を'の数だけ水増しすれば出来ました、 (^^? あああ''ああ なら rs.Filter = "フィールド1 = " & "'あああ''''ああ'"

AXWNPWQTPCI
質問者

お礼

ご回答ありがとうございました。

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

ADO自体は使っていないのですが、フィルタへの文字列の 渡し方であれば、DAOと同様のはずですので・・・ 今回の例のように、文字列を二重で括る必要がある場合の 方法としては、『「"」と「'」の併用』の他に、『「"」を二つ重ねて ひとつの「"」として渡す』という方法もあります。 ですので、以下のように修正すれば、ご希望の動作になるかと 思います: 【現状】  rs.Filter = "フィールド1 = " & "'あああ'ああ'" 【修正】  rs.Filter = "フィールド1 = " & """あああ'ああ""" または(フィールドと文字列を合一して)  rs.Filter = "フィールド1 = ""あああ'ああ"" 「"""あああ'ああ"""」の「"」のうち、両端の「"」が VBA上での文字列の括りのためのもので、その内側の 「""」が、文字列として渡す「"」を指定するためのもの、 ということになります。 ・・・なお、どうしてもわかりづらいという場合は、Chr関数 を使用する方法もあります(「Chr(34)」は「"」を返します):  rs.Filter = "フィールド1 = " & Chr(34) & "あああ'ああ" & Chr(34)

AXWNPWQTPCI
質問者

お礼

ご回答ありがとうございました。

関連するQ&A