目次
ACCESSとExcelの連携 在庫管理 その8
こんにちは。伊川(@naonaoke)です。
今回は上の記事の続きになります。
今回は、Excelから、ACCESSのデータを削除する方法を紹介します。
ACCESSのデータを削除するには?
私は、基本データは削除しません。
いったん、データベースに組み込まれたら、そのデータも大切なデータだからです。
どうしても、削除しなければならい場合もあります。
テーブルから削除する
多分、テーブルから直で削除する方が大半だと思います。
しかし、それは、できるだけやめた方がいいです。
ACCESSはテーブルを元に作動します。
ヒューマンエラーで、別のデータを削除したら、大変です。
伊川の格言
ACCESSのテーブルは、神棚です。直接触るのはNGです。
データ入力フォームから削除 作成手順その1 入力フォームを確認
データ入力フォームから削除 作成手順その2 削除手順
ボタンをクリックすると、下記の画面が表示されます。
契約書番号を入力します。
契約書番号に紐づいたデータが全部削除します。
コードを確認
この部分が肝になります。
コードは、ACCESSへ接続する決まり文句を記載した後、処理をするコードを記載します。
Private Sub CommandButton1_Click() Dim con As New ADODB.Connection Dim rs As New ADODB.Recordset Dim conStr As String conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " & _ ActiveWorkbook.Path & "\在庫管理.accdb" con.Open ConnectionString:=conStr rs.Open Source:="MT_申込", ActiveConnection:=con, _ CursorType:=adOpenKeyset, LockType:=adLockOptimistic With rs .Find Criteria:="契約書番号='" & TextBox1.Value & "'" If .EOF = True Then MsgBox "該当するレコードは存在しません。" Exit Sub End If .Delete End With rs.Close con.Close MsgBox "データ削除完了" Unload UserForm1 End Sub
ここがポイント
ここがポイント
テーブルは直接、触れてはいけません。この原則を守りましょう。
大切なデータを削除する可能性があるからです。
まとめ
データを削除するときは、細心の注意をしましょう。
次回は、Excelから、ACCESSへ転送するコードを解説します。
今回のサンプルファイルは、ありません。
毎日の業務が、3時間短縮できます
わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。