何番目のレコードかが取得出来、サブフォームの
Bookmarkに代入する事で任意のレコードを
アクティブにする事が可能となる。
------------Dim varBookMark As Variant
使用例 Start
------------
' フラグ初期化
intNullCheck = 0
SqlMain = ""
SqlMain = SqlMain & " SELECT *"
SqlMain = SqlMain & " FROM 得意先単価
'ブックマークプロパティ使用の為のレコードセット
Call recOpenSearch(CnnMain, SqlMain, RecMain)
If Not RecMain.EOF Then
RecMain.MoveFirst
Do Until RecMain.EOF
'単価と適用日がセットで入力されているかをチェック
If Nz(RecMain!変更単価, 0) <> 0 Then
If Nz(RecMain!適用日, "") = "" Then
varBookMark = RecMain.Bookmark ' ブックマークの値を変数へ
intNullCheck = 1 ' 適用日未入力
End If
End If
RecMain.MoveNext
Loop
End If
Call recClose(RecMain)
If intNullCheck = 1 Then
Call MsgBox("適用日が入力されていません ", vbInformation, "警告")
Me.sub得意先単価.SetFocus 'サブフォーム内のコントロールへのSetFocusは一旦全体に
Me.sub得意先単価.Form.Bookmark = varBookMark 'BookMarkの値を代入
Me.sub得意先単価.Form.txt予約変更日.SetFocus '任意のコントロールへSetFocus
Exit Function
End If
Public Sub recOpenSearch(ByRef Cnn As ADODB.Connection, ByVal Sql As String, ByRef rec As ADODB.Recordset)
Dim cmd As New ADODB.Command
cmd.CommandType = adCmdText
cmd.CommandText = Sql
cmd.ActiveConnection = Cnn
With rec
.CursorLocation = adUseServer
.CursorType = adOpenStatic 'adOpenStaticでないとBookMarkは使用不可
.LockType = adLockPessimistic
.Open cmd
End With
End Sub
------------Accessプロジェクトでは、CursorTypeをadOpenStaticに設定しないと
使用例 End
------------
Bookmarkが使用出来ないので注意。