• ベストアンサー

ADOでBetweenを使ってフィルタをする時

ADOでBetweenを使ってフィルタをする時 実行時エラー3001「引数が間違った型、許容範囲外、または競合しています。」 になってしまいます。 rs.Filter = "取引日 = Between #2013/1/1# And #2013/1/31#" rs.Filter = "取引日 = Between '#2013/1/1# And #2013/1/31#'" rs.Filter = "取引日 Between #2013/1/1# And #2013/1/31#" 全部だめだったのですが、どこが変ですか?

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

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

以下のように並べて記述します。 rs.Filter = "取引日>= #2013/01/01#" rs.Filter = "取引日<= #2013/01/31#" たとえば、 Dim rs As New ADODB.Recordset Dim strSQL As String strSQL = "SELECT * FROM T取引" rs.Open strSQL, CurrentProject.Connection rs.Filter = "取引日>= #2013/01/01#" rs.Filter = "取引日<= #2013/01/31#" rs.MoveFirst Do Until rs.EOF Debug.Print rs!会社名 rs.MoveNext Loop rs.Close: Set rs = Nothing のように。

zlboldbpnqlt
質問者

お礼

2回に分ければいいのですね。 ありがとうございます。

その他の回答 (1)

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

ADO の Filterプロパティのヘルプ http://msdn.microsoft.com/ja-jp/library/cc426691.aspx 上記には •「演算子」には次の中から 1 つを選択して使用します。<、>、<=、>=、<>、=、または LIKE。 とありますから、Between は使えないようです。 rs.Filter = "取引日 >= #2013/1/1# And 取引日 <= #2013/1/31#" などのように。 参考までに、DAO では Between は 使用できますが、 rs.Filter = "取引日 Between #2013/1/1# And #2013/1/31#" です。

zlboldbpnqlt
質問者

お礼

ADOでは使えないのですね。諦めます。ありがとうございます。

関連するQ&A