我有一個附件字段的本地表。我嘗試用vba刪除並手動刪除,之前的附件不斷回來。在vba中,我用記錄集和SQL來試用它。 的SQL刪除附件字段中的數據
Let strSQL = "DELETE tblSpecsPics.PicID,tblSpecsPics.SpecID,tblSpecsPics.SpecDetailID,tblSpecsPics.PicNum,tblSpecsPics.Pic.FileData,tblSpecsPics.Pic.FileName,tblSpecsPics.Pic.FileType,tblSpecsPics.ImageDesc FROM tblSpecsPics;"
db.Execute strSQL, dbSeeChanges
的記錄
Set rst = db.OpenRecordset("SELECT * FROM tblSpecsPics WHERE Not (tblSpecsPics.Pic.FileData) Is Null;", dbOpenDynaset, dbSeeChanges)
If Not rst.BOF And Not rst.EOF Then
rst.MoveFirst
Do Until rst.EOF
rst.Edit
Set rsv = rst.Fields(4).Value
rsv.Delete
rst.Update
rst.MoveNext
Loop
結束如果
當我添加新記錄的老附件再出現沒有失敗。
您不要「刪除」記錄中的字段 - 將其值設置爲null。刪除僅用於完整記錄。 –
實際上@TimWilliams,MS Access表中的附件類型實際上是指向主表的連接表。要刪除所有元數據,必須刪除底層鏈接的記錄。 – Parfait
@Parfait - 感謝您的糾正:對我來說這是一個新的。 –