適用先: Access 2013、Office 2013
失敗した更新操作に対処する
When an update concludes with errors, how you resolve the errors depends on the nature and severity of the errors and the logic of your application. However, if the database is shared with other users, a typical error is that someone else modifies the field before you do. この種類のエラーは競合と呼ばれます 。 ADO はこの状況を検出し、エラーを報告します。
更新エラーが発生すると、そのエラーはエラー処理ルーチンにトラップされます。 競合する行だけが表示されるよう、adFilterConflictingRecords 定数を使用して Recordset をフィルター処理します。 この例では、編集した人の名前と姓 (au_fname と au_lname) だけを表示するというエラー解決方針をとっています。
更新時に競合が発生したことをユーザーに警告するコードを次に示します。
objRs.Filter = adFilterConflictingRecords
objRs.MoveFirst
Do While Not objRst.EOF
Debug.Print "Conflict: Name = "; objRs!au_fname; " "; objRs!au_lname
objRs.MoveNext
Loop