アクセス小僧:保存と更新(2) [コンピューター]
問題1:新規レコードに移動して、ドロップダウンリストを選択しようとすると拒否られて、保存すると選択できるようになる問題
問題2:新規レコードを更新すると、先頭レコードに飛んで、ブックマークしても戻れない(当たり前かもしれませんが)問題
この2つの問題、解決したような、してないような。。
データ入力フォームはこんな感じです。
リレーションはこんな感じ。
各項目を入力しては保存、最後に更新するように、下記のマクロを使っています。
' [パスワード(New)]を更新
Sub USUpdatePW1(mode1 As Integer)
On Error GoTo myError
'【引数】
' mode1:モード1(=0 Requeryしない、=1 Requeryする)
'【変数】
Dim varBookmark As Variant ' ブックマーク
' 【コード】
If mode1 = 1 Then
' 現在のレコードをブックマーク
varBookmark = Me.Bookmark
End If
' [パスワード(New)]を代入
[パスワード(New)] = UFMkPw1([頭文字], [PasswordN_1], [PasswordN_2], [パスワード(New)_固定], [種別1_ID], [種別2_ID], [桁数])
' 保存
DoCmd.RunCommand acCmdSaveRecord
If mode1 = 1 Then
' 更新
Me.Requery
' 更新前のレコードへ
Me.Bookmark = varBookmark
End If
myError:
End Sub
Password_ID, パスワード_New__固定, ログインID, 桁数ID, 種別1_ID, 種別2_ID, 題名, 頭文字, 内容1の項目でLostFocusイベントが発生したら、USUpdatePW1マクロをmode1=0で呼び、更新(Requery)せず、保存(acCmdSaveRecord)のみ行います。
更新ボタンでClickイベントが発生したら、USUpdatePW1マクロをmode1=1で呼び、保存(acCmdSaveRecord)し、更新(Requery)します。更新前後、ブックマーク(bookmark)を使って、新規レコードに表示が戻るようにします。
問題2:新規レコードを更新すると、先頭レコードに飛んで、ブックマークしても戻れない(当たり前かもしれませんが)問題
この2つの問題、解決したような、してないような。。
データ入力フォームはこんな感じです。
リレーションはこんな感じ。
各項目を入力しては保存、最後に更新するように、下記のマクロを使っています。
' [パスワード(New)]を更新
Sub USUpdatePW1(mode1 As Integer)
On Error GoTo myError
'【引数】
' mode1:モード1(=0 Requeryしない、=1 Requeryする)
'【変数】
Dim varBookmark As Variant ' ブックマーク
' 【コード】
If mode1 = 1 Then
' 現在のレコードをブックマーク
varBookmark = Me.Bookmark
End If
' [パスワード(New)]を代入
[パスワード(New)] = UFMkPw1([頭文字], [PasswordN_1], [PasswordN_2], [パスワード(New)_固定], [種別1_ID], [種別2_ID], [桁数])
' 保存
DoCmd.RunCommand acCmdSaveRecord
If mode1 = 1 Then
' 更新
Me.Requery
' 更新前のレコードへ
Me.Bookmark = varBookmark
End If
myError:
End Sub
Password_ID, パスワード_New__固定, ログインID, 桁数ID, 種別1_ID, 種別2_ID, 題名, 頭文字, 内容1の項目でLostFocusイベントが発生したら、USUpdatePW1マクロをmode1=0で呼び、更新(Requery)せず、保存(acCmdSaveRecord)のみ行います。
更新ボタンでClickイベントが発生したら、USUpdatePW1マクロをmode1=1で呼び、保存(acCmdSaveRecord)し、更新(Requery)します。更新前後、ブックマーク(bookmark)を使って、新規レコードに表示が戻るようにします。
ヤバイぜ! ありがとうございます(^_0)ノ
by cheese999 (2016-11-18 00:49)
説明がいまいちですが、追記しました。(^_0)ノ
by cheese999 (2016-11-18 08:20)