OVH Cloud OVH Cloud

Espace utilisé

1 réponse
Avatar
Patrick
Bonjour,

Est-il possible de connaître la place que prend une table dans une base de
données ?
Par exemple, si la base fait 10 Mo, j'aimerais savoir que la table TTT
utilise 1 Mo, la table UUU utilise 2 Mo et ainsi de suite.

Merci pour votre aide.

--
Patrick

1 réponse

Avatar
Eric
Bonjour Patrick,

Je ne connais pas de propriété qui te retourne directement la taille
d'une table. (Suis persuadé que quelqu'un nous la donnera ou une
procédure plus sophistiquée que la mienne)

Avec la procédure suivante que tu mets dans un module standard, celle-ci
t'affichera dans la fenêtre Exécution, le nb d'enregistrements et un
ordre de grandeur de la taille de chaque table en octets.(Taille d'un
enregistrement en octets * Nb d'enregistrements de la table)

Sub TailleDesTables()
Dim tbl As DAO.TableDef, fld As DAO.Field, TailleEnreg As Long
Dim TotalOctets as Long
For Each tbl In CurrentDb.TableDefs
If Left(tbl.Name, 4) <> "MSys" Then
Debug.Print "Table : " & tbl.Name & vbCrLf & vbTab & _
" - Nb d'enregistrements : " & Format(tbl.RecordCount, "# ##0")
For Each fld In tbl.Fields
TailleEnreg = TailleEnreg + fld.Size
Next fld: Debug.Print vbTab & " - Taille en octets : " & _
vbTab & Format(TailleEnreg * tbl.RecordCount, "# ##0")
End If
TotalOctets = TotalOctets + TailleEnreg * tbl.RecordCount
TailleEnreg = 0: Debug.Print
Next tbl
Debug.Print "-----------------------------------"
Debug.Print "Taille totale des tables : " & _
Format(TotalOctets, "# ##0")
End Sub

A+
Eric


"Patrick" écrivait
news:uZY#:

Bonjour,

Est-il possible de connaître la place que prend une table dans une
base de données ?
Par exemple, si la base fait 10 Mo, j'aimerais savoir que la table TTT
utilise 1 Mo, la table UUU utilise 2 Mo et ainsi de suite.

Merci pour votre aide.