• ベストアンサー

アクセスの検索について

For I = 1 To Day(SV月末日付) W検索条件 = "年月日 = #" & DateSerial(Year(SV処理年月), Month(SV処理年月), I) & "#" Q_作成.FindFirst W検索条件 Do Until Q_作成.NoMatch 上記のように日付を検索条件にしているのですが、下に記述した Do Until Q_作成.NoMatchの中を通らないのです。 参照しているクエリーにはレコードは間違いなくあるのですが、通らない原因としてどういったことが考えられるのでしょうか?

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

  • ベストアンサー
  • venzou
  • ベストアンサー率71% (311/435)
回答No.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で検証しましたが、正常でした。 データに問題あるのでは? 具体的なデータのサンプルを示してください。

konkon_m
質問者

お礼

日付を変換することにより解決しました。 ありがとうございました。

konkon_m
質問者

補足

回答ありがとうございます。 現在、テーブルを元にした選択クエリーを使用しています。 もう一度よく調べてみますね。

関連するQ&A

専門家に質問してみよう