質問: nothing end sub ----------------------------------------------------- とすると 実行時エラー3001「引数が間違った型、許容範囲外、または競合しています。」 になってしまいます。 adoでアポストロフィー入りの値をフィルタする方法を教えてください。
回答: ado自体は使っていないのですが、フィルタへの文字列の 渡し方であれば、daoと同様のはずですので・・・ 今回の例のように、文字列を二重で括る必要がある場合の 方法としては、『「"」と「'」の併用』の他に、『「"」を二つ重ねて ひとつの「"」として渡す』という方法もあります。 ですので、以下のように修正すれば、ご希望の動作になるかと 思います: 【現状】 rs.filter = "フィールド1 = " & "'あああ'ああ'" 【修正】 rs.filter = "フィールド1 = " & """あああ'ああ""" または(フィールドと文字列を合一して) rs.filter = "フィールド1 = ""あああ'ああ"" 「"""あああ'ああ"""」の「"」のうち、両端の「"」が vba上での文字列の括りのためのもので、その内側の 「""」が、文字列として渡す「"」を指定するためのもの、 ということになります。 ・・・なお、どうしてもわかりづらいという場合は、chr関数 を使用する方法もあります(「chr(34)」は「"」を返します): rs.filter = "フィールド1 = " & chr(34) & "あああ'ああ" & chr(34)