オデッセイの運営サイト一覧

Excel®️、Accessのマクロ・VBAのスキルを評価する資格VBAエキスパート

企業・教育機関の皆さまへ 試験会場を探す お問い合せ

やってみよう!Excel VBAで業務改善!|持続可能なスキーム編

第30話「データ登録処理の完成!」

第30話「データ登録処理の完成!」

登場人物紹介

トランザクション処理の実装

: On Error GoTo エラー If DB接続 Then     : If num = "" Then If MsgBox("このデータを追加してもいいですか?", vbYesNo) = vbYes Then CN.BeginTrans : rs.Open "進捗TBL", CN, adOpenKeyset, adLockOptimistic         : rs.Update CN.CommitTrans MsgBox "データを追加しました" Call データ取得 End If Else MsgBox "このデータは追加できません" End If End If Exit Sub エラー: CN.RollbackTrans MsgBox "追加に失敗しました データベースは更新されません" Call データ取得 End Sub

※赤字の部分が、修正・追加したコードです。

「うん、こんなところかな。
データ追加をユーザーが選択したら、"CN.BeginTrans"でトランザクション処理を開始する。
その後データを追加し、"rs.Update"で追加データをテーブルに反映したら、
"CN.CommitTrans"で変更を確定する。
……ここまででエラーが発生したら、行ラベル"エラー:"に処理が移り、
"CN.RollbackTrans"で変更を取り消す……と」

八木くんは、実装したコードを何度も見直すと、満足そうに大きくうなずきます。

「ようやく完成だ!
……明日は会社で、みんなにデータ登録処理をお披露目できるぞ!」

さすがに疲れたのか、八木くんはフーーッと肩で大きく息をしました。

第31話「Excelでクライアントサーバーシステム」に続きます

文・イラスト/武藤 玄

ご意見やご感想の投稿はこちら

星くんと一緒にSTEP UPしませんか?

一覧へ戻る

MENU