• ベストアンサー

アクセスVBA 一個前や一個後の値を取得するには

フォームの中にあるサブフォームの現在選択中のレコードの値を取得は出来たのですが 一個前や一個後の値を取得するにはどうすればいいですか? Sub test() Debug.Print Forms("F_Main").Controls("F_SubMain").Form.Filter Debug.Print Forms("F_Main").Controls("F_SubMain").Form.Controls("日付") End Sub で、現在のレコードの情報は取得できましたが 上のレコード、下のレコードを取得するコードを教えてください。

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

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

こんな感じで。 レコードが1件もない場合とか、現在新規レコードにある場合など工夫が必要と思われ。 Sub test()   Dim rst As DAO.Recordset   Debug.Print Forms("F_Main").Controls("F_SubMain").Form.Filter   Debug.Print Forms("F_Main").Controls("F_SubMain").Form.Controls("日付")   With Forms("F_Main").Controls("F_SubMain").Form     Set rst = .RecordsetClone     rst.Bookmark = .Bookmark     rst.MovePrevious     If Not rst.BOF Then       Debug.Print rst.Fields("日付")     Else       Debug.Print "先頭です"     End If     rst.Bookmark = .Bookmark     rst.MoveNext     If Not rst.EOF Then       Debug.Print rst.Fields("日付")     Else       Debug.Print "最後です"     End If   End With End Sub

yielgbgprcjs
質問者

お礼

ありがとうございました。

関連するQ&A

専門家に質問してみよう