首页 > 解决方案 > 如何将附件文件保存到目录并保留文件扩展名?

问题描述

我想使用新文件名将附件保存到目录中。以下代码重命名文件,但失去了它们的扩展名。这些文件是图像文件。我怎么过去?

    Dim strFileName As String
    Dim rsParent As DAO.Recordset2
    Dim rsChild As DAO.Recordset2
    Dim subField As DAO.Field2
    
    Dim strPath As String
    
    strPath = "C:\Images"
    If Len(Dir("C:\Images", vbDirectory)) = 0 Then
   MkDir "C:\Images"
   End If
        
    Set rsParent = CurrentDb.OpenRecordset("tblDonations", dbOpenSnapshot)

    With rsParent
        If .RecordCount > 0 Then .MoveFirst

        While Not .EOF
            Set rsChild = rsParent("Image").Value
        
            If rsChild.RecordCount > 0 Then rsChild.MoveFirst
            
            While Not rsChild.EOF
            Set subField = rsChild("FileData")
                            strFileName = strPath & "\" & .Fields("ItemNo")
                            If Len(Dir(strFileName)) <> 0 Then Kill strFileName

                subField.SaveToFile strFileName

                rsChild.MoveNext
            Wend

            .MoveNext
          Wend
    
    End With
subflied.Close
Set subfield = Nothing
rsChild.Close
Set rsChild = Nothing 
rsParent.Close
Set rsParent = Nothing

标签: vbams-access

解决方案


将文件扩展名附加到strFileName. 从中提取rsChild("FileType")

strFileName = strPath & "\" & .Fields("ItemNo") & "." & rsChild("FileType")

推荐阅读