使いやすいように設計された Microsoft リレーショナル データベース管理システムのファミリ。
ご紹介いただいた関数を試したところ、
Bookmarkのところで、
「指定した式に、Bookmarkプロパティに対する不正な参照が含まれます。」
とエラーになっていましました。。。
フォームの Bookmarkプロパティも2002以降なのかな?
AC2000がないので確認できない。
ならば、下記の関数を試してみてください。
Public Function GetCurrentRecord2(f As Access.Form, KeyFld As String) As Long
Dim rs As DAO.Recordset
Dim MyKey As Variant
Set rs = f.RecordsetClone
If rs.BOF Then Exit Function
MyKey = f(KeyFld)
Do Until rs.EOF
If rs(KeyFld) = MyKey Then
GetCurrentRecord2 = rs.AbsolutePosition + 1
Exit Do
End If
rs.MoveNext
Loop
GetCurrentRecord2 = rs.AbsolutePosition + 1
rs.Close: Set rs = Nothing
End Function
使用例
MsgBox CurrentRecord(Me!サブフォームコントロール名.Form, "ID")
”ID”は重複のないキーフィールド名を指定
独り言
Access2002以降で追加されたプロパティ、メソッド一覧ってどこかにないかな?