2013-03-05 58 views
1

我開發了將文件插入訪問數據庫表中的附件字段的代碼。 該表被稱爲「報告」,附件字段被稱爲「Field1」。目前,我的代碼將文件插入到「Reports」表中的第一條記錄,我想要做的是根據它的ID向記錄中添加附件,例如(將ID附加到Field1的ID = some value )。這可能有人可以幫我解決這個問題嗎?vba代碼根據ID將文件插入到表中

Instantiate the parent recordset. 
Set rsfile = db.OpenRecordset("Reports") 


Do While Not rsfile.EOF 
If rsfile.Fields("ID").Value = 1 Then 
' Activate edit mode. 
rsfile.Edit 

' Instantiate the child recordset. 
Set rsReport = rsfile.Fields("Field1").Value 

'Add a new attachment. 
filePath = "C:\dbPDF\sitereport.pdf" 
rsReport.AddNew 
rsReport.Fields("FileData").LoadFromFile (filePath) 
rsReport.Update 

' Update the parent record 
rsfile.Update 

rsfile.MoveNext 
Loop 

回答

1

你可以迭代思想的報告和更新,如果條件匹配,是應該與此類似:

rsfile = db.OpenRecordset("Reports") 

Do While Not rsfile.EOF 
If rsfile.Fields("ID").Value = 1 Then 
    'Activate edit mode. 
    rsfile.Edit 

    'Instantiate the child recordset. 
    Set rsReport = rsfile.Fields("Field1").Value 
    'Add a new attachment. 
    filePath = "C:\dbPDF\sitereport.pdf" 
    rsReport.AddNew 
    rsReport.Fields("FileData").LoadFromFile (filePath) 
    rsReport.Update 
    'Update the parent record 
    rsfile.Update 
End If 
'Next row 
rsfile.moveNext 
Loop 
+0

嗨Wawrzyniec SZ,將工作對我來說,我怎麼可能incorpate說成我的代碼,我有試過但得到一個錯誤? – derek 2013-03-05 12:00:58

+0

我編輯了我的代碼,上面添加了代碼,但是得到一個錯誤「Do with loop」 – derek 2013-03-05 12:07:11

+0

我錯過了'end if'。糾正。 – www 2013-03-05 13:07:31