- ベストアンサー
アクセス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 で、現在のレコードの情報は取得できましたが 上のレコード、下のレコードを取得するコードを教えてください。
- みんなの回答 (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
お礼
ありがとうございました。