#128 | フォームを開くと同時に最後の画面に移動するには? | フォーム、VBA | |
「#127 フォームを開くと同時に最終レコードに移動するには?」の応用例です。 フォームが"帳票フォーム"の場合、GoToRecordメソッドを使って最後のレコードに移動すると、そのレコードが画面の一番先頭の行にある状態で初期表示されます。 最終レコードをカレントレコードとし、かつ"既存の数レコードも画面表示されている状態"で初期表示させたい場合には、次のようにします。 Private Sub Form_Load()
Dim iintLoop As Integer 'いったん最終レコードに移動します DoCmd.GoToRecord , , acLast '適当なレコード数、前に戻します '5は適当な値です。画面に応じて変更してください DoCmd.GoToRecord , , acPrevious, 5 '戻した数だけレコードを進めます For iintLoop = 1 To 5 DoCmd.GoToRecord , , acNext Next iintLoop End Sub ※For〜Nextでレコードを進めている部分は、"DoCmd.GoToRecord , , acNext, 5" というコードでもよさそうですが、そうすると結局また最終レコードが画面の一番先頭になってしまいます。ループで1つずつレコードを進めるのがポイントです。 |
|||
|
Copyright © T'sWare All rights reserved |