Bonjour,
j'utilise une base Access 2000 de 90Mo, et je souhaiterais connaître la taille de chaque table, comment faire ?
Merci de votre aide
Marco
Bonjour,
j'utilise une base Access 2000 de 90Mo, et je souhaiterais connaître la taille de chaque table, comment faire ?
Merci de votre aide
Marco
Dans le menu outils, tu as un sous menu analyse. Fouille dedans peut-etre y aura-t-il quelque chose pour toi.
J'ai déjà fouillé, mais rien sur la taille d'une table.
Marco
Tu as besoin de données exacte ? C'est pourquoi faire ?
dans ta base tu crées une table nommeé taille
3 champs
nomtable text 50
enreg long
taille long
puis tu lances ca
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Function taillet() As Boolean ' Dim z As dao.DATABASE Dim u1 As dao.Field Dim prop As dao.Property Dim y As dao.TableDef Dim out As Recordset Set z = CurrentDb() Set out = z.OpenRecordset("taille") Dim poids As Long For Each y In z.TableDefs If Left(y.Name, 4) <> "MSys" Then poids = 0 out.AddNew out![nomtable] = y.Name out!enreg = DCount("*", y.Name) For Each u1 In y.Fields For Each prop In u1.Properties If prop.Name = "size" Then poids = poids + prop.Value Next prop Next u1 out![long] = poids out.Update End If Next y End Function
J'utilise Access pour construire des maquettes destinées à SAP ou Oracle. Dans le cas présent j'ai axé cette base sur la vitesse de restitution au détriment du volume (il y a des pré-traitements). Au final, je n'arrive pas à faire la part des chose entre la taille des tables sources et la taille de la table des résultats.
Marco
Merci pour le code.
J'ai référencé le complément "Microsoft DAO 3.6" mais j'ai un pb:
sur la ligne:
-- Set out = z.OpenRecordset("taille") --
"Incompatibilité de type"
Marco
tu n'as pas tout lu
pour utiliser cette fonction il faut créer une table taille
relis le post
dans ta base tu crées une table nommeé taille
3 champs
nomtable text 50
enreg long
taille long
Si si j'ai bien lu et j'ai créé la table adéquate.
Marc
préfixe
remplace
Dim out As Recordset par Dim out As dao.Recordset
et dans la fenêtre éxécution tape
print tailleT()
Désolé, ça ne marche pas, j'ai un message:
"Elément non trouvé dans cette collection"
sur la ligne: out![long] = poids
Ne serait ce pas plutot Out!taille ?
ce message t'indique que tu n'as pas crée le champ long dand la table
taille
long est à la fois son nom et son type
Pourtant tu as nommé le champ taille et non long :Envoyé par random
dans ta base tu crées une table nommeé taille
3 champs
nomtable text 50
enreg long
taille long
exact je suis confus long et non taille
désolé
Cette fois ça marche !
Si j'ai bien compris en multipliant la longueur par le nbre d'enregistement, j'obtiens une idée assez précise de la taille de chaque table.
Merci beaucoup de ton aide
Marco
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager