-1
我正在開發一個數據庫程序,並且程序的一部分是用戶附加文件的能力。這些文件然後被複制到指定的文件夾並重命名以反映表的ID。但是,我的問題是,我可以實現這一點,但是當用戶爲同一個ID附加第二個文件時,它會拋出文件錯誤已經存在。使用vba保存帶有增量編號的文件MS Access
所以任何人都可以讓我在正確的方向如何實現這一點,即如果文件退出,然後很快保存第二個文件的增量數。
一些代碼,以幫助瞭解什麼我想實現:
Dim objFSO
Const OVER_WRITE_FILES = True
Set objFSO = Nothing
Dim FileLocation As String
Dim DestLocation As String
Dim fileName As String
Dim fileNameI As String
Dim iTemp As Integer
Set objFSO = CreateObject("Scripting.FileSystemObject")
FileLocation = Me.lblTempLocation.Caption
DestLocation = "C:\Dev\"
fileName = [TestName].Value
'If the backup folder doesn't exist, create it.
If Not objFSO.FolderExists(DestLocation) Then
objFSO.CreateFolder (DestLocation)
End If
'Copy the file as long as the file can be found
If Not objFSO.FileExists(DestLocation & fileName & ".pdf") Then
objFSO.CopyFile FileLocation, DestLocation & fileName & ".pdf", OVER_WRITE_FILES
Else
objFSO.CopyFile FileLocation, DestLocation & fileNameI & ".pdf", OVER_WRITE_FILES
Do While (fileName) <> vbNullString
fileNameI = fileName & Format$(iTemp, "_00")
iTemp = iTemp + 1
Loop
End If
上述工作正常第一次,但如果該文件存在,它會通過它得來一個堆棧溢出錯誤的循環,停止代碼。
感謝您的回覆,我做到了這一點,並取得了最終結果。它確實給出了一個唯一的文件名[例如:如果在不同的場合附加同一個記錄,file_1_01.pdf和file_1_05.pdf]。但是,我希望爲相同的記錄提供類似[file_1_01.pdf,file_1_02.pdf等]的內容。如果那有意義的話。如果它不能實現,那麼我將不得不做,如你所建議的那樣。謝謝你的迴應。 – Monib