pickup

 

目次

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

 



ここがポイント

ここがポイント
Function8.png
テーブルは直接、触れてはいけません。この原則を守りましょう。

大切なデータを削除する可能性があるからです。

 




まとめ

データを削除するときは、細心の注意をしましょう。

次回は、Excelから、ACCESSへ転送するコードを解説します。

 

今回のサンプルファイルは、ありません。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事