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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| ' Début de la procédure
Sauvegarde des relations
Suppression des relations
' Début de la compression
' TABLE PARENT T_Parent
' =========================
' Processus de trie
Ajoute le champs IdAnc à la table T_Parent
Copie le champs [Id] dans le champs [IdAnc]
Renomme la table T_Parent en T_ParentTmp
Duplique la table (structure uniquement) T_ParentTmp en T_Parent
Crée la requête qui insère dans T_Parent les données ordonnées de la table T_ParentTmp
INSERT INTO T_Parent (Ch1, Ch2, Ch3, Ch
)
SELECT Ch1, Ch2, Ch3, Ch
From T_ParentTmp
ORDER BY T_ParentTmp.Ch2
Exécute la requête.
' Maintenant la table T_Parent est compactée et triée sur le champ Ch2 par ex.
' TABLE FILLE T_Fille
' ---------------------
Ajoute le champs [IIdAnc] à la table T_Fille
Copie le champs [IId] dans le champs [IIdAnc]
Copie [Id...] de la table T_Parent dans [IId...] de la table T_Fille
Maintenant la table T_Fille est compactée
' Processus de trie
Renomme la table T_Fille en T_FilleTmp
Duplique la table (structure uniquement) T_FilleTmp en T_Fille
Crée la requête qui insère dans T_Fille les données ordonnées de la table T_FilleTmp
INSERT INTO T_Fille (IId, ChA, ChB, ChC, Ch
)
SELECT IId, ChA, ChB, ChC, Ch
From T_FilleTmp
ORDER BY T_FilleTmp.ChC;
Exécute la requête.
' Maintenant la table T_Fille est triée sur le champ ChC par ex.
Supprime la table temporaire T_FilleTmp
Supprime [Id...Anc] de la table T_Fille
' Boucle sur TABLE FILLE Si plusieurs tables liées
' FIN TABLE PARENT T_Parent
' =============================
Supprime [IdAnc] de la table T_Parent
Supprime la table temporaire T_ParentTmp
' Fin de la compression.
Restauration des relations
' Fin de la procédure |
Partager