PR

Accessで編集・削除ボタン付き連続フォームを作成しよう!

Access
スポンサーリンク

こんにちは、なかぜんです。

「一覧表示できる連続フォームは便利だけど、個別に編集や削除できたらもっと使いやすいのに…」

こんなお悩み、Accessユーザーさんからよく聞きます。そこで今回は、「編集・削除ボタン付きの連続フォーム」を初心者でも簡単に作れる方法を、やさしく解説します。

このフォームがあれば、業務での確認や更新作業がグッと効率的になりますよ!

スポンサーリンク

連続フォームとは?

まずは基本から確認しましょう。

連続フォームの特徴

連続フォームは、テーブルやクエリのデータを複数行で一覧表示できるフォームです。Excelのように行ごとにデータが並び、スクロールで確認できます。

なぜ編集・削除ボタンが必要?

データを一覧で見るだけではなく、「この行だけ直したい」「このデータは消したい」と思う場面は多いですよね。そんなときにボタンがあると直感的で便利です。

作成の手順

1. テーブルとクエリの準備

まずはデータの元となるテーブルを準備します。今回は「T_顧客」という名前で、以下のようなフィールド構成とします:

  • ID(オートナンバー・主キー)
  • 顧客名(短いテキスト)
  • 電話番号(短いテキスト)

このテーブルを基に、フォームのレコードソースとなるクエリ「Q_顧客一覧」を作っておくと良いでしょう。

2. 連続フォームの作成

フォームデザインビューで新規フォームを作成し、下記の設定を行います:

  • フォームの種類:連続フォーム
  • レコードソース:「Q_顧客一覧」

顧客名・電話番号のテキストボックスに加えて、下記のようにボタンを追加します:

  • 編集ボタン(名前:btnEdit)
  • 削除ボタン(名前:btnDelete)

3. ボタンにVBAコードを設定

それぞれのボタンに次のようなVBAコードを設定します。

編集ボタン(編集フォームを開く)


Private Sub btnEdit_Click()
    DoCmd.OpenForm "F_顧客編集", , , "ID=" & Me.ID
End Sub

解説: 編集用の単票フォーム「F_顧客編集」を開き、クリックした行のIDだけを条件に表示します。

削除ボタン(レコード削除)


Private Sub btnDelete_Click()
    If MsgBox("このデータを削除しますか?", vbYesNo + vbQuestion, "確認") = vbYes Then
        DoCmd.SetWarnings False
        DoCmd.RunCommand acCmdDeleteRecord
        DoCmd.SetWarnings True
    End If
End Sub

解説: メッセージボックスで確認を出し、削除実行。SetWarningsで警告をオフにしています。

よくあるミスと注意点

  • フォームの種類が単票のまま:必ず「連続フォーム」に変更してください。
  • IDの指定がないと編集できない:編集フォーム側のレコードソースにIDの抽出条件を設定する必要があります。
  • 削除時にエラーが出る:削除ボタンで参照制約違反が出る場合、テーブルのリレーションシップを確認しましょう。

応用ポイント(中級者向け)

編集フォームに連携項目を渡す

複数のフィルター条件をVBAで渡すことで、より絞り込んだフォーム表示が可能になります。

ログ機能の追加

削除時に「削除ログテーブル」に記録を残すことで、誤削除のリスクを軽減できます。

まとめ:便利で使いやすいフォームを作ろう!

今回は、Accessの連続フォームに「編集」「削除」ボタンを追加する方法をご紹介しました。

  • 連続フォームは一覧性が高く、現場で活躍
  • VBAを使えば機能的な操作も簡単に実現可能
  • 削除の前に確認メッセージを入れることで安全性アップ

これを機に、自分だけの使いやすい業務フォームを作ってみませんか?

それでは、なかぜんでした。