- ベストアンサー
アクセスの検索について
For I = 1 To Day(SV月末日付) W検索条件 = "年月日 = #" & DateSerial(Year(SV処理年月), Month(SV処理年月), I) & "#" Q_作成.FindFirst W検索条件 Do Until Q_作成.NoMatch 上記のように日付を検索条件にしているのですが、下に記述した Do Until Q_作成.NoMatchの中を通らないのです。 参照しているクエリーにはレコードは間違いなくあるのですが、通らない原因としてどういったことが考えられるのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
テーブル1(ID,年月日) ID 年月日 1 2007/02/01 2 2007/02/02 3 2007/02/03 Sub test() Dim I As Long Dim Q_作成 As Recordset Dim W検索条件 As String Dim SV処理年月 As Date Dim SV月末日付 As Date SV処理年月 = "2007/2/1" SV月末日付 = "2007/2/28" Set Q_作成 = CurrentDb.OpenRecordset("テーブル1", dbOpenDynaset) For I = 1 To Day(SV月末日付) W検索条件 = "年月日 = #" & DateSerial(Year(SV処理年月), Month(SV処理年月), I) & "#" Q_作成.FindFirst W検索条件 Do Until Q_作成.NoMatch Debug.Print I, Q_作成![ID], Q_作成![年月日] Q_作成.FindNext W検索条件 Loop Next End Sub 結果 1 1 2007/02/01 2 2 2007/02/02 3 3 2007/02/03 Access2000で検証しましたが、正常でした。 データに問題あるのでは? 具体的なデータのサンプルを示してください。
お礼
日付を変換することにより解決しました。 ありがとうございました。
補足
回答ありがとうございます。 現在、テーブルを元にした選択クエリーを使用しています。 もう一度よく調べてみますね。