Skip to main content

AccessTr.neT


Access İçinden Windows Gezginini Yönetmek

Access İçinden Windows Gezginini Yönetmek

#17
bir yerden aşağıdakine benzer bir denetleme buldum ama ne kadar etkilidir hangi hataları gösterir bilmiyorum.
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 bildiriyor
butonun 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
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
Cvp: Access İçinden Windows Gezginini Yönetmek - Yazar: berduş - 20/03/2019, 17:08
Task