2006.03.10

Access:帳票フォームで任意の行にフォーカスをセット

Accessで帳票フォームを使用した際に、
任意の行の項目にフォーカスをセットするには
Bookmarkプロパティを使用します。

ヘッダと明細のある伝票入力などでサブフォームを使用している場合
入力チェックでエラー項目にフォーカスをセットする際などに使用します。

Dim bm As Variant
Dim rst As Recordset

'// サブフォーム(帳票フォーム)のレコードソースを取得する
'// てゆーか変数に入れなかったら長すぎ
Set rst = Me.subForm.Form.RecordsetClone
If rst.RecordCount > 0 Then
  rst.MoveFirst
  Do Until rst.Eof
    '// 項目がNullならエラー
    If IsNull( rst.Fields("項目").Value ) Then
      bm = rst.BookMark
      Me.subForm.Form.txtKomoku.SetFocus
      Exit Do
    End If
    rst.MoveNext
  Loop
End If

'// Bookmarkがセットされていたらサブフォームへセットする
If Not IsEmpty(bm) Then
  Me.subForm.Form.Bookmark = bm
  Me.subForm.SetFocus
End If

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

photo
nakamura