Problème de lecture de poids de base Access

Résolu
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 - 25 mai 2012 à 12:36
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 - 25 mai 2012 à 14:20
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

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
25 mai 2012 à 14:13
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
3
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
25 mai 2012 à 12:39
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
'**********************************************
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
25 mai 2012 à 12:54
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
0
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
25 mai 2012 à 13:18
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
'**********************************************
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
25 mai 2012 à 13:33
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
0
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
25 mai 2012 à 14:20
Merci pour tout!

Jimy

Pensez: Réponse acceptée
'**********************************************
0
Rejoignez-nous