bir tek
Set flr = fso.GetFolder(xKonum)
kalandosya = flr.Files.Count
If kalandosya = 0 Then MsgBox ("işlem tamam")
If kalandosya > 0 Then MsgBox (kalandosya & "Taşınamamıştır")
kısmındaki uyarıları ben ekledim klasörde dosya kalsa kalmasa da bildiriyorbutonun kaodunu aşağıdakiyle değiştirebilirsiniz
Dim fso As Object
Dim flr As Object
Dim MyFile As String
Dim txtDosyaAdi() As String
On Error GoTo HataYakala
Set fso = CreateObject("Scripting.FileSystemObject")
ReDim DirectoryListArray(1000)
MyFile = Dir$(CurrentProject.Path & "\Müşteriler\_Tarananlar\*.pdf")
Counter = 0
Do While MyFile <> ""
DirectoryListArray(Counter) = Replace(MyFile, ".pdf", "")
MyFile = Dir$
Counter = Counter + 1
Loop
For x = 0 To Counter - 1
xMyFile = DirectoryListArray(x)
txtDosyaAdi = Split(xMyFile, "_")
xKonum = CurrentProject.Path & "\Müşteriler\_Tarananlar\"
'________________Klasör yoksa olustur__________
Xhedef = CurrentProject.Path & "\Müşteriler\" & txtDosyaAdi(0)
If Dir(Xhedef, vbDirectory) = "" Then MkDir Xhedef
Xhedef = Xhedef & "\" & Replace(txtDosyaAdi(3), ".pdf", "")
If Dir(Xhedef, vbDirectory) = "" Then MkDir Xhedef
Xhedef = Xhedef & "\" & txtDosyaAdi(1)
If Dir(Xhedef, vbDirectory) = "" Then MkDir Xhedef
Xhedef = Xhedef & "\" & txtDosyaAdi(2)
If Dir(Xhedef, vbDirectory) = "" Then MkDir Xhedef
Xhedef = Xhedef & "\"
'________________Klasör yoksa olustur bitti__________
'_______________dosya var mı
n = 1
Do
DosyaAdi = Xhedef & xMyFile & "_" & Replace(Space$(3 - Len(n)), " ", "0") & n & ".pdf"
n = n + 1
Loop Until Dir(DosyaAdi) = ""
'_______________dosya var mı bitti
Name xKonum & xMyFile & ".pdf" As DosyaAdi
DoCmd.RunSQL "insert into 2_Dosya_Link_T (MUSTERI_ADI,DOSYA_LINK) values ('" & _
txtDosyaAdi(0) & "', '#" & DosyaAdi & "#');"
Next
'___Taşınmayan dosya kaldı mı
Set flr = fso.GetFolder(xKonum)
kalandosya = flr.Files.Count
If kalandosya = 0 Then MsgBox ("işlem tamam")
If kalandosya > 0 Then MsgBox (kalandosya & "Taşınamamıştır")
'___Taşınmayan dosya kaldı mı
HataYakala_Exit:
On Error Resume Next
Set flr = Nothing
Set fso = Nothing
Exit Sub
HataYakala:
If Err.Number = 70 Then
MsgBox "Aşağıdaki Sorunlara raslandı." & vbCrLf & vbCrLf & _
"Hata Kodu: " & Err.Number & vbCrLf & _
"Hata Kaynağı: Dosya taşıma " & vbCrLf & _
"Hata Tanımı: " & Err.Description, _
vbCritical, "An Error has Occured!"
Else
MsgBox "Aşağıdaki Sorunlara raslandı." & vbCrLf & vbCrLf & _
"Hata Kodu: " & Err.Number & vbCrLf & _
"Hata Tanımı: " & Err.Description, _
vbCritical, "An Error has Occured!"
End If
Resume HataYakala_Exit