|

|
|
 |
添付ファイル型フィールドへファイルを追加する |
 |
|
|
|
|
|
VBAを使って添付ファイル型フィールドへ新しいファイルを追加するときは、テーブルやクエリをDAOで開き、添付ファイルオブジェクトを経由し行います。添付ファイルオブジェクトは添付ファイル型フィールドのプロパティ「Value」で作成・取得、保存に使うメソッドは「LoadFromFile」です。
|
|
|
|
|
|
|
|
|
|
次のプログラムは、VBAを使い添付ファイルを追加する処理のサンプルです。データベースの操作にはDAOを使います。添付ファイルを追加するときは、最初に最初にSQLを実行しレコードセットを作成します。サンプルでは、保存先のレコード1件を選択するようにしています。
このサンプルでは、フィールド「報告書」が添付ファイル型フィールド、また、With〜End Withが添付ファイルの追加処理を行っている部分です。
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 = "SELECT *" _
& " FROM 業務日報マスタ" _
& " WHERE 報告者コード= '" & pFindKey & "'"
Set objRS = objMDB.OpenRecordset(strSQL, dbOpenDynaset)
objRS.Edit
With objRS.Fields("報告書").Value
.AddNew
On Error Resume Next
.Fields("FileData").LoadFromFile pFilename
.Update
If Err.Number <> 0 Then
.CancelUpdate
End If
On Error GoTo 0
End With
objRS.Update
objRS.Close
Set objRS = Nothing
Set objMDB = Nothing
End Sub
|
最初に、メソッド「AddNew」を実行し添付ファイルの追加を宣言、次に添付ファイルオブジェクトのフィールド「FileData」でLoadFromFileを実行し、オブジェクト内に添付ファイルを保存する準備を行います。なお、LoadFromFileに指定するのは、追加するファイルのパス情報です。
そして、最後にメソッド「Update」を実行すれば添付ファイルが保存されます。ただし、何らかの事情で保存できなかった(実行時エラーが発生した)場合は、メソッド「CancelUpdate」を実行し添付ファイルの保存を取り消しています。
|
|
|
|
|