Problème de lecture de poids de base Access [Résolu]

Signaler
Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
-
jimy neutron
Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
-
Bonjour à tous,

Je développe une appli qui utilise une base access, cette appli indique à l’utilisateur la place disponible sur la base, en partant du principe qu'une base access est pleine à 2Go.

Je pensais avoir trouvé la solution avec ce code:

 
Public Function SizeBDD() as decimal

        On Error GoTo Err
        Dim LienBase As String = "C:\Chemin\base"
        Dim Fichier As String = LienBase & "\MaBase.mdb"
        Dim SizeFile As Long
        Dim MaxSize As Long = 2000000000 '(2Go Max)

        If System.IO.Directory.Exists(LienBase) Then
            Dim SelectFile As New System.IO.FileInfo(Fichier)
            SizeFile = SelectFile.Length
            SizeBDD= 100 / (MaxSize / SizeFile) 'Pourcentage d'occupation
        End If
        GoTo Fin
Err:
        MsgBox("LA SAUVEGARDE N'A PAS ABOUTIE.", 4112, "Erreur")
Fin:
    End Function


Mais voici deux mois que l'appli est utilisée par mon client, plus de 1500 enregistrements ont été enregistrés ( taille max d'un enregistrement: 3000 caractères), et pourtant le poids de la base (SizeFile)ne change pas!

Ma méthode ne serait-elle pas la bonne, y a-t-il une astuce?

Merci de votre aide
Jimy

Pensez: Réponse acceptée
'**********************************************

6 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
Lis donc ceci (tu en as besoin) :
Tapez le texte de l'url ici.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
1
Je précise que mon code lit correctement le poids de la base, qui est identique à ce qu'affiche les propriétés de la base dans l'explorateur windows. Mais que c'est cette valeur qui ne change pas.(SizeFile)

Jimy

Pensez: Réponse acceptée
'**********************************************
Messages postés
14653
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 février 2020
139
Bonjour,

Quand tu supprime un enregistrement, la place est marquée libre dans le fichier, donc la taille ne change pas.
La taille d'une base de données est liée à son contenu (la taille est au moins aussi grosse que son contenu), mais elle peut être plus grosse que les données réellement enregistrées.

Si tu veux déterminer le nombre d'enregistrement, regardes plutôt du coté des requêtes SQL.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
1
Merci de ta réponse nHenry, mais dois-je comprendre qu'une base sans enregistrement , donc juste avec sa structure, qui fait 4Mo sera toujours, quelques soit le nombre d'enregistrements, du même poids.
Mais ca voudrait dire que le nombre d’enregistrements est sans importance et infini, je craints de ne pas comprendre...


Jimy

Pensez: Réponse acceptée
'**********************************************
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
Bonjour,
Le compactage d'une base de données a précisément pour vocation de la réorganiser sans "blancs" (notamment après suppressions, etc ...) ! tu devrais commencer à t'y intéresser. Tant que tu n'utiliseras pas cette méthode ô combien salutaire, les "blancs" présents (qui, après suppressions, etc..., occupent une place) seront chaque fois que possible remplacés par les nouvelles données et la taille de la base restera donc identique.
Il te faut donc t'intéresser de près à ce compactage nécessaire de temps à autre.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
1
Merci pour tout!

Jimy

Pensez: Réponse acceptée
'**********************************************