アクセス担当のまみです。
クエリって色々なデータを抽出してくれたり、一定の法則に基づいてデータを更新してくれたり、本当に色々と活躍してくれます。
抽出条件に合うレコードの削除や、全レコードの削除もクエリでできちゃいます。
抽出条件が同じなら、一度クエリを作成しておけば、実行するだけで削除してくれます。
データを削除すると元に戻せないのでバックアップは取っておいてくださいね。
Contents
テーブルの準備
使用するテーブル
「T_納品管理表」
ここでは「T_納品管理表」を使用しますが、同じテーブルじゃなくても大丈夫なので、お手元にデータがあれば準備してください。
データの削除後にも、同じデータを使用するので、バックアップを取っておいてくださいね。
抽出条件に合うレコードを削除する削除クエリの作成
所属が営業部のレコードを削除する削除クエリを作成してみましょう。
リボンの①「作成」タブから「クエリデザイン」を選択し、「T_納品管理表」を追加します。
フィールドに③「所属」を選んで、抽出条件に「営業部」を入力して、リボンの④「削除」を選択します。
クエリの結果
デザインビューに切り替えて、リボンの「!実行」を左クリックしてみましょう。
営業部のデータが削除されました。
クエリは「Q_抽出条件で削除」と名前をつけておきましょう。
⑤×を左クリックして⑥「はい」を左クリックします。
全レコードを削除する削除クエリの作成
リボンの「作成」タブから「クエリデザイン」を選択し、「T_納品管理表」を追加します。
フィールドに「*」(すべて)を選択してリボンの「削除」を選択すれば全レコードを削除する削除クエリのできあがりです。
データシートビューで確認してみましょう。
クエリの結果
[quads id=2]
保存した削除クエリの実行
保存した削除クエリをダブルクリックすると、即実行されます。
VBAで削除クエリを実行する
作成した削除クエリをVBAで実行することができます。
リボンの①「作成」タブから②「フォームデザイン」を選択し、ボタンを1つ配置します。
名前を「btnデータ削除」標題は「データ削除」にしておきましょう。
③「btnデータ削除」を選択した状態で、プロパティーシートの④「イベント」タブからクリック時に「イベントプロシージャ」を選択してコードの画面を表示します。
「Private Sub btnデータ削除_Click()」と「End Sub」の間に下記のコードを追加しましょう。
DoCmd.OpenQuery "Q_全レコード削除", acNormal, acEdit MsgBox "レコードが削除されました"
コードをコピーされたい場合は下記の記事を参考にしてください。
DoCmd.OpenQuery “クエリ名“, acNormal, acEdit
ってコードでクエリが実行されます。クエリ名に使用したいクエリ名を入れて使ってくださいね。
まとめ
削除クエリってデータを一括で削除してくれてとっても便利ですね。
削除クエリを実行すると元に戻せないので、くれぐれもバックアップを取ることを忘れないでくださいね!