• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Soru Mdb dosya büyüklüğü

Katılım
17 Haziran 2008
Mesajlar
1,874
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
Merhaba arkadaşlar;

Veritabanı dosyası olarak mdb biçimini kullanmaktayım. Resim verisi içeren ( "Uzun ikili veri" ) kayıtlar oluşturuyorum.

Her yeni kayıtta dosya boyutu artıyor .

Kayıt sildiğimde ise dosya boyutu düşmüyor... hatta veritabanı içinden ilgili Tabloyu sildiğim halde yinede boyutu düşmüyor.

Kayıt sildiğimde ; veritabanını boyutunu düşürmenin bir yolu varmıdır ?

Yardımcı arkadaşa şimdiden Teşekkürler.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,652
Excel Vers. ve Dili
Pro Plus 2021
Veritabanını sıkıştır ve onarı deneyin.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,398
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
MDB dosyasını "compact" yapmak işinize yarayabilir....

Not: Veysel Beyin cevabını sonradan gördüm, aynı şeyden bahsediyormuşuz...


Kod:
Sub Test()
    'Haluk - 01/01/2019
    '
    Dim DB As Object
    Dim daoDBEngine As Object
    Dim MyDb As String, NewDb As String
    Dim Len1 As Long, Len2 As Long
   
    On Error Resume Next
        Set daoDBEngine = CreateObject("DAO.DBEngine")
        Set daoDBEngine = CreateObject("DAO.DBEngine.36")
        Set daoDBEngine = CreateObject("DAO.DBEngine.120")
    On Error GoTo 0
   
    MyDb = "C:\TestFolder\MyDb.mdb"
    NewDb = "C:\TestFolder\NewDb.mdb"
   
    Len1 = FileLen(MyDb)
   
    If Dir(MyDb) = Empty Then
        MsgBox MyDb & " bulunamadi, kodlar sonlandirilacak ...."
        Exit Sub
    End If
   
    If Not Dir(NewDb) = Empty Then Kill NewDb
   
    daoDBEngine.CompactDatabase MyDb, NewDb
   
    Len2 = FileLen(NewDb)
   
    MsgBox "Orjinal dosya boyutu : " & Format(Len1, "#,##0.00") & " byte" & vbCrLf & vbCrLf _
           & "Yeni dosya boyutu  : " & Format(Len2, "#,##0.00") & " byte" & vbCrLf & vbCrLf _
           & "Fark : " & Format((Len2 - Len1), "#,##0.00") & " byte"
    Kill MyDb
    Name NewDb As MyDb
    Set daoDBEngine = Nothing
End Sub
.
 
Katılım
17 Haziran 2008
Mesajlar
1,874
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
Veyselemre ;

Haluk;


Hocam çok teşekkür ediyorum. Tamamdır... Elinize sağlık.
 
Üst