Boş Klasör / Alt Klasör Silme
Tarih
11/01/2017 14:21
Konu Sahibi
donepezil
Yorumlar
14
Okunma
359
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy
alpeki99
Yeniden başlayabilmek...
Kullanici Avatari
Uzman
O....
6.052
29/10/2008
Ordu
Ofis 2013 32 Bit
22/04/2017,22:11
Bir fonksiyon ya da prosedür yazdınız. Bu yazdığınızın içinde bir noktada tekrar kendisini çalıştırıyorsa o zaman recursive olmuş olur. Basit ancak asıl mesele algoritmayı kurmakta elbette.

Şu adreste bir örnek var vaktim olmadığından detayını inceleyemedim ancak muhtemelen sizin işinizi görecektir: freevbcode.com/ShowCode.asp?ID=7821

Referanslara belirttiği kütüphaneyi eklemeyi unutmayın.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla

donepezil
Öğrenmek Lazım
Kullanici Avatari
Onursal
O.... D....
167
07/03/2009
16
Afyon
Fizikçi
Ofis 2013 32 Bit
23/03/2017,18:16
Sponsor Reklam
(11/01/2017, 16:36)alpeki99 Adlı Kullanıcıdan Alıntı: Bir fonksiyon ya da prosedür yazdınız. Bu yazdığınızın içinde bir noktada tekrar kendisini çalıştırıyorsa o zaman recursive olmuş olur. Basit ancak asıl mesele algoritmayı kurmakta elbette.

Şu adreste bir örnek var vaktim olmadığından detayını inceleyemedim ancak muhtemelen sizin işinizi görecektir: freevbcode.com/ShowCode.asp?ID=7821

Referanslara belirttiği kütüphaneyi eklemeyi unutmayın.


Çaresiz kalırsam, içine dalarım diye sık kullanılanlara eklediğim referanslardan biri buydu.

Demek ki doğru bakmışım Img-grin

Çok teşekkür ederim. Düzenlemeye çalışacağım.

Saygılar.
Cevapla

alpeki99
Yeniden başlayabilmek...
Kullanici Avatari
Uzman
O....
6.052
29/10/2008
Ordu
Ofis 2013 32 Bit
22/04/2017,22:11
Sonucu yazarsanız sonradan okuyanlara yardımcı olacaktır.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla

donepezil
Öğrenmek Lazım
Kullanici Avatari
Onursal
O.... D....
167
07/03/2009
16
Afyon
Fizikçi
Ofis 2013 32 Bit
23/03/2017,18:16
Sponsor Reklam
(11/01/2017, 16:49)alpeki99 Adlı Kullanıcıdan Alıntı: Sonucu yazarsanız sonradan okuyanlara yardımcı olacaktır.


Başarabilirsem, ilk işim o olacak. Ben çok aradım başkaları aramasın diye Img-grin  Teşekkürler.
Normalde şu programın yaptığını yaptırmaya çalışıyorum :Img-grin  Buna mı yönlendirsem acaba Img-grin))))


Ek Dosyalar
.rar   EmptyFolder.rar (Dosya Boyutu: 141,96 KB / İndirme Sayısı: 3)
Cevapla

ozanakkaya
sledgeab
Kullanici Avatari
Kurucu
O.... A....
9.465
29/01/2008
Denizli
Memur
Ofis 2010 32 Bit
Dün,08:10
Merhaba,

Formda resim sildirdiğiniz butonun tıklandığında olayındaki


Kod:
Me.Requery



kodunun üzerine


Kod:
DeleteEmptyFolders (CurrentProject.Path)



kodu ekle,



Kod:
Option Compare Database
Option Explicit



kodunun hemen altına




Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Public Sub DeleteEmptyFolders(ByVal strFolderPath As String)
   Dim fsoSubFolders As Folders
   Dim fsoFolder As Folder
   Dim fsoSubFolder As Folder
   Dim m_fsoObject
   Dim strPaths()
   Dim lngFolder As Long
   Dim lngSubFolder As Long
      
   DoEvents
   
   Set m_fsoObject = New FileSystemObject
   If Not m_fsoObject.FolderExists(strFolderPath) Then Exit Sub
   
   Set fsoFolder = m_fsoObject.GetFolder(strFolderPath)
   
   On Error Resume Next
   
   'Has sub-folders
   If fsoFolder.SubFolders.Count > 0 Then
        lngFolder = 1
        ReDim strPaths(1 To fsoFolder.SubFolders.Count)
        'Get each sub-folders path and add to an array
        For Each fsoSubFolder In fsoFolder.SubFolders
            strPaths(lngFolder) = fsoSubFolder.Path
            lngFolder = lngFolder + 1
        Next fsoSubFolder
        
        lngSubFolder = 1
        'Recursively call the function for each sub-folder
        Do While lngSubFolder < lngFolder
           Call DeleteEmptyFolders(strPaths(lngSubFolder))
           lngSubFolder = lngSubFolder + 1
        Loop
    End If
   
    'No sub-folders or files
    If fsoFolder.Files.Count = 0 And fsoFolder.SubFolders.Count = 0 Then
        fsoFolder.Delete
    End If
End Sub



kodu ekle,


Son olarak referanslara

"Microsoft Scripting Runtime"


isimli referansı ekle.

resim sildiğinde boş klasörleri siler.

Cevapla

donepezil
Öğrenmek Lazım
Kullanici Avatari
Onursal
O.... D....
167
07/03/2009
16
Afyon
Fizikçi
Ofis 2013 32 Bit
23/03/2017,18:16
Sponsor Reklam
(11/01/2017, 18:53)ozanakkaya Adlı Kullanıcıdan Alıntı: Merhaba,

Formda resim sildirdiğiniz butonun tıklandığında olayındaki


Kod:
Me.Requery



kodunun üzerine


Kod:
DeleteEmptyFolders (CurrentProject.Path)



kodu ekle,



Kod:
Option Compare Database
Option Explicit



kodunun hemen altına




Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Public Sub DeleteEmptyFolders(ByVal strFolderPath As String)
   Dim fsoSubFolders As Folders
   Dim fsoFolder As Folder
   Dim fsoSubFolder As Folder
   Dim m_fsoObject
   Dim strPaths()
   Dim lngFolder As Long
   Dim lngSubFolder As Long
      
   DoEvents
   
   Set m_fsoObject = New FileSystemObject
   If Not m_fsoObject.FolderExists(strFolderPath) Then Exit Sub
   
   Set fsoFolder = m_fsoObject.GetFolder(strFolderPath)
   
   On Error Resume Next
   
   'Has sub-folders
   If fsoFolder.SubFolders.Count > 0 Then
        lngFolder = 1
        ReDim strPaths(1 To fsoFolder.SubFolders.Count)
        'Get each sub-folders path and add to an array
        For Each fsoSubFolder In fsoFolder.SubFolders
            strPaths(lngFolder) = fsoSubFolder.Path
            lngFolder = lngFolder + 1
        Next fsoSubFolder
        
        lngSubFolder = 1
        'Recursively call the function for each sub-folder
        Do While lngSubFolder < lngFolder
           Call DeleteEmptyFolders(strPaths(lngSubFolder))
           lngSubFolder = lngSubFolder + 1
        Loop
    End If
   
    'No sub-folders or files
    If fsoFolder.Files.Count = 0 And fsoFolder.SubFolders.Count = 0 Then
        fsoFolder.Delete
    End If
End Sub



kodu ekle,


Son olarak referanslara

"Microsoft Scripting Runtime"


isimli referansı ekle.

resim sildiğinde boş klasörleri siler.



Merhaba Ozan Hocam;

Deneyip sonuçları bildiririm.

** Bu arada resim sildirdiğimiz butonun değil "Kaydet" butonunun yapması gerekiyor bu işi. Form bilgileri değişince, resmi eski klasöründen alıp, yeni klasöre, doğru adıyla yapıştırmalı. Bunu yapıyor zaten. Arkada kalan klasörleri temizlemem lazım. Dosya yollarını belirterek bir türlü olmadı. Muhakkak dolu bir klasöre denk geliyor. (Ya da ben beceremedim)

Teşekkür ederim.
Cevapla


Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  Terkrarlayan Kayıtları Silme ertans 4 79 22/04/2017, 19:56 atoz112
  Klasör İçindeki Mdb Uzantılı Dosyaları Silme husem 2 56 13/03/2017, 10:16 husem
  Listede seçili olanı silme mustim1547 2 127 13/01/2017, 10:45 mustim1547
Çözüldü Liste kutusundan seçili olanı tablodan silme... direnist 11 3.393 13/01/2017, 08:07 mustim1547
Çözüldü satırdaki isimlerde otomatik klasör açma manyetix 19 4.072 05/01/2017, 00:20 donepezil


Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2017 MyBB Group.
DMCA.com Protection Status