*

Access VBA データベース作成9 データの更新 編集フォームの作成2

公開日: : 最終更新日:2014/04/20 データベース作成

データベース作成9 編集フォームの作成2

実践データベース作成の第9回目は編集フォームの作成Part2です。
前回は「検索フォーム」にコンボボックス、テキストボックスを追加し、プログラムを少し追加した「編集フォーム」を作成しました。
今回はテーブル内のデータを編集するプログラムを作成します。
・未入力データのチェック
・選択されているデータを検索
・テーブル内データの編集・更新
上記のような流れになります。

では、実際にVBAをどのように組み込んでいくのか説明します。

スポンサーリンク

コマンドボタン(編集)のクリックイベント

コマンドボタンのイベントは「クリック時」になります。

sakusei22

sakusei23

コマンドボタンの「クリック時」には以下のプログラムを実行します。
1.各テキストボックス、コンボボックスが未入力(Null値)ではないか確認
2.「Find」を使用して編集する社員データを検索
2.「T_社員マスタ2013」を開き、レコードを編集・更新
実際のプログラムは以下のようになります。

プログラム例

Private Sub 編集コマンド_Click()

‘未入力の確認

If IsNull(Me.詳細名前) = True Then
MsgBox “名前が入力されていません!”, vbCritical, “未入力エラー”
Me.詳細名前.SetFocus
Exit Sub
End If

If IsNull(Me.詳細性別コード) = True Then
MsgBox “性別が入力されていません!”, vbCritical, “未入力エラー”
Me.詳細性別コード.SetFocus
Exit Sub
End If

If IsNull(Me.詳細所属部署コード) = True Then
MsgBox “所属部署が入力されていません!”, vbCritical, “未入力エラー”
Me.詳細所属部署コード.SetFocus
Exit Sub
End If

If IsNull(Me.詳細入社日) = True Then
MsgBox “入社日が入力されていません!”, vbCritical, “未入力エラー”
Me.詳細入社日.SetFocus
Exit Sub
End If
‘編集処理

If MsgBox(“編集を行います。よろしいですか?”, vbQuestion + vbYesNo, “編集の確認”) = vbYes Then

Dim CN As ADODB.Connection
Dim RS As ADODB.Recordset

Set CN = CurrentProject.Connection
Set RS = New ADODB.Recordset

RS.Open “T_社員マスタ2013”, CN, adOpenStatic, adLockOptimistic

RS.Find “社員コード= ‘” & Me.詳細社員コード & “‘”

RS!名前 = Me.詳細名前
RS!性別コード = Me.詳細性別コード
RS!所属部署コード = Me.詳細所属部署コード
RS!入社年月日 = Me.詳細入社日
RS!更新日 = Date

RS.Update

MsgBox “編集が完了しました”, vbInformation, “編集完了”

RS.Close: Set RS = Nothing
CN.Close: Set CN = Nothing

End If

End Sub

プログラムの説明

1.未入力エラー処理
各テキストボックス、コンボボックスが未入力(Null値)の場合、警告メッセージを表示し、プログラムをその時点で終了させます。
未入力エラー処理の詳細はこちらを参照して下さい。

sakusei25

2.編集処理
(1)Yes/No型のメッセージボックスを表示し、Yesが選択された場合のみ編集処理を実行します。

sakusei26

(2)ADOを使用して「T_社員マスタ2013」を開きます。
(3)【Find】を使用して編集したい社員コードを条件にデータを検索します。
(4)データの更新を行います。
更新日フィールドには「今日の日付」(Date)を入力します。
実際には編集していないデータも同じ値を入力するプログラムになります。
(5)編集・更新が完了したメッセージを表示します。

いかがでしょうか?
これでコマンドボタンのクリック時イベントは終了です。
また、編集フォームの作成もこれにて完了になります。

スポンサーリンク

ad-pc

ad-pc

関連記事

sakusei20

Access VBA データベース作成7 リストボックスの値取得 検索フォームの作成3

データベース作成7 検索フォームの作成3 実践データベース作成の第7回目は検索フォームの作成Par

記事を読む

sakusei17

Access VBA データベース作成5 コンボボックスの作成 検索フォームの作成1

データベース作成5 検索フォームの作成1 実践データベース作成の第5回目は検索フォームの作成Par

記事を読む

sakusei11

Access VBA データベース作成2 テーブルの作成

データベース作成2 テーブルの作成 実践データベース作成の第2回目はテーブルの作成を行います。

記事を読む

sakusei02

Access VBA データベース作成1 ADO参照設定

データベース作成1 準備 データベース作成の実践編として数回に渡り、AccessVBAを使用したデ

記事を読む

sakusei15

Access VBA データベース作成4 新規レコード追加 登録フォームの作成2

データベース作成4 登録フォームの作成2 実践データベース作成の第4回目は登録フォームの作成Par

記事を読む

sakusei18

Access VBA データベース作成6 SQLでLike演算子 検索フォームの作成2

データベース作成6 検索フォームの作成2 実践データベース作成の第6回目は検索フォームの作成Par

記事を読む

sakusei27

Access VBA データベース作成10 フォームを開く メインフォームの作成

データベース作成10 メインフォームの作成 実践データベース作成の第10回目はメインフォームの作成

記事を読む

sakusei22

Access VBA データベース作成8 コンボボックスの選択データを表示 編集フォームの作成1

データベース作成8 編集フォームの作成1 実践データベース作成の第8回目は編集フォームの作成Par

記事を読む

sakusei12

Access VBA データベース作成3 新規レコード取得 登録フォームの作成1

データベース作成3 登録フォームの作成1 実践データベース作成の第3回目は登録フォームの作成を行い

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

転職01
初心者がAccess VBAの仕事に就く為には

初心者がAccess VBAを使った仕事に就く 私はSEやITエンジ

sound01
Access VBA 音を鳴らす PlaySound

音を鳴らす PlaySound Access上で効果音を鳴らすプログ

pass01
Access VBA フォームをパスワードで制限

フォームをパスワードで制限 Accessで作成したデータベース使用時

prg01
Access VBA 処理の進行状況を表示するプログレスバー(ProgressBar)

処理の進行状況を表示するプログレスバー Accessで処理に時間のか

excel03
Access VBA AccessのデータをExcel(エクセル)へ変換

AccessのデータをExcel(エクセル)へ変換 Accessで使

→もっと見る

PAGE TOP ↑