#491 添付ファイル型フィールドの既存ファイルを削除するには? フォーム、VBA

「#490 添付ファイル型フィールドへファイルを追加するには?」の関連Tipsとして、フォーム上にある添付ファイル型フィールドと連結されたコントロールから既存の添付ファイルを削除するプログラムを紹介します。

添付ファイルの情報へは、フォームのレコードセットからさらに「商品写真.Value」(”商品写真”はフィールド名)というレコードセットを生成することでアクセスすることができます。つまり添付ファイル1つずつがそのレコードセットの1レコードとなっています。

次のサンプルコードでは、[削除]ボタンをクリックしたとき、そのレコードセットの全レコードをループでたどり、「FileName」フィールド値が「img17.jpg」であったらそのレコード、すなわちその添付ファイルを削除しています。「FileName」フィールドにはファイルを添付した際のファイル名+拡張子が保存されています

Private Sub cmd削除_Click()
'[削除]ボタンクリック時

  'フォームのレコードセットの編集を開始
  Me.Recordset.Edit

  '商品写真フィールドのレコードセットに対する操作
  With Me.Recordset!商品写真.Value
    Do Until .EOF
      If !FileName = "img17.jpg" Then
        .Delete
        Exit Do
      End If
      .MoveNext
    Loop
    .Close
  End With

  '添付ファイルコントロールの表示を更新
  Me!商品写真.Requery

End Sub


実行結果:
■クリック前
実行結果:クリック前
■クリック後
実行結果:クリック後
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved