添付ファイル型フィールドのファイルを削除する
VBAを使って添付ファイル型フィールドに保存されているファイルを削除するときは、SQLのDELETE命令で行えます。削除時も、追加や取得と同じようにDAOを使います。
添付ファイルを削除するプログラムのサンプル
次のプログラムは、VBAを使い添付ファイルを削除するプロシージャのサンプルです。データベースの操作にはDAOを使います。添付ファイルを削除するときは、WHERE句に対象のファイルが含まれるレコードの条件と、対象のファイル名(FileNameプロパティ)を指定します。

このサンプルでは、フィールド「報告書」が添付ファイル型フィールド、また、@の部分で削除用のSQLを組み立て、その後Aの部分でExecuteを使いSQLを実行し添付ファイルの削除を行っています。このとき、DELETEの後に添付ファイル名(報告書.FileName)を指定しないと、レコードそのものが削除されてしまうので注意しましょう。

Sub Sample(pFindKey As String, pFilename As String)

    Dim objMDB  As DAO.Database
    Dim objRS   As DAO.Recordset
    Dim strSQL  As String

    Set objMDB = Application.CurrentDb

    '@
    strSQL = "delete  報告書.FileName" _
           & "  from  業務日報マスタ" _
           & " where  報告者コード= '" & pFindKey & "'" _
           & "   and  報告書.FileName='" & pFilename & "'"

    'A
    objMDB.Execute strSQL

    Set objMDB = Nothing

End Sub
Copyright(C) 1999-2006 結城圭介。 All rights reserved