Bonjour,
Je cherche à créer un module pour compacter mes données lorsque je clique sur un bouton. ( créer le bouton, ... pas de problème, c'est la procédure à mettre en VBA )...
Merci à tous !
Bonjour,
Je cherche à créer un module pour compacter mes données lorsque je clique sur un bouton. ( créer le bouton, ... pas de problème, c'est la procédure à mettre en VBA )...
Merci à tous !
Bonjour,
Si ta base n'est pas scindée, tu peux cocher l'option compactage à la fermeture.
Si tu travailles avec un système de base frontale / dorsale, tu peux utiliser ce code :
Ou strCheminDorsale est le chemin complet de la base dorsale.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 DoCmd.Hourglass True x = Shell("Msaccess.exe " & Chr$(34) & strCheminDorsale & Chr$(34) & " /compact") DoCmd.Hourglass False MsgBox "Les données ont été compactées avec succés !", vbInformation + vbOKOnly, "Compactage"
Attention : aucun autre utilisateur ne doit être connecté à la base de données pendant le compactage. Le mieux étant peut-être de planifier ce genre d'opération pendant la nuit.
Domi2
Ma base n'est pas scindée, mais elle le sera sans doute plus tard.Envoyé par Domi2
Est-ce que ce code fonctionne quand même?????
Re,
Alors coche simplement l'option de compactage à la fermture. De toute façon, en période de développement, il est conseillé de compacter régulièrement.Ma base n'est pas scindée, mais elle le sera sans doute plus tard.
Maintenant, si ta base est destinée a être utilisée en réseau (et même si ce n'est pas le cas), tu aurais gain de la scinder dès maintenant. Voir les nombreux posts à ce sujet sur le forum.
Non. Il faut en utiliser un qui compacte la base en cours d'utilisation. Mais pour une version d'Access supérieur à 97, je ne vois pas trop d'intérêt. le compactage automatique à la fermeture de la base me semble suffisant.Est-ce que ce code fonctionne quand même?????
Domi2
Est-ce possible de mettre un code pour compacter sans passer par la case à cocher????? ( Désolé si ma question paraît bêbête )
je crois qu'il est préférable de passer par un gestionnaire de compactage,car le compactage à la fermeture est long et parfois parfaitement inutile
pour cela on utilise une base dédiée
dans cette base on gère une table contenant le nom et l'adresse de toutes les mdb gérées.
pour chaque base on fait choix d'une stratégie de compactage
perso j'utilise deux stratégies
la taille maxi pour les bases de type traitement mensuel dont la taille après compactage reste quasi invariante, mais qui du fait d'effacement et recréation de données enfle
La variation en pourcentage on compacte quand la base a augmenté
d'un pourcentage significatif
après chaque compactage on mémorise la taille avant et après compactage
périodiquement on ajuste les paramètres
le traitement s'effectue hors des heures d'ouverture
il prévoit un log (avec mail) si incident
Heu..... Comment fait-on tout cela?????
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