- ベストアンサー
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#" 全部だめだったのですが、どこが変ですか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
以下のように並べて記述します。 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 のように。
その他の回答 (1)
- m3_maki
- ベストアンサー率64% (296/460)
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#" です。
お礼
ADOでは使えないのですね。諦めます。ありがとうございます。
お礼
2回に分ければいいのですね。 ありがとうございます。