Boş Klasör / Alt Klasör Silme
Tarih
11/01/2017 14:21
Konu Sahibi
donepezil
Yorumlar
14
Okunma
235
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.020
29/10/2008
Ordu
Ofis 2013 32 Bit
11/01/2017,17:51
Sponsor Reklam
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....
158
07/03/2009
16
Afyon
Fizikçi
Ofis 2013 32 Bit
16/01/2017,18:24
(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.020
29/10/2008
Ordu
Ofis 2013 32 Bit
11/01/2017,17:51
Sponsor Reklam
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....
158
07/03/2009
16
Afyon
Fizikçi
Ofis 2013 32 Bit
16/01/2017,18:24
(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.189
29/01/2008
Denizli
Polis Memuru
Ofis 2010 32 Bit
Bugün,14:52
Sponsor Reklam
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....
158
07/03/2009
16
Afyon
Fizikçi
Ofis 2013 32 Bit
16/01/2017,18:24
(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
  Listede seçili olanı silme mustim1547 2 67 13/01/2017, 10:45 mustim1547
Çözüldü Liste kutusundan seçili olanı tablodan silme... direnist 11 3.180 13/01/2017, 08:07 mustim1547
Çözüldü satırdaki isimlerde otomatik klasör açma manyetix 19 3.912 05/01/2017, 00:20 donepezil
  Form üzerinden alt veri tablosuna ekleme silme işlemi nightashes 9 239 11/12/2016, 15:27 nightashes
Photo İlişkili Tablolarda FORM üzerinden veri silme Mesut Kaytan 6 165 04/12/2016, 22:40 Mesut Kaytan


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