IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Compactage d'une bdd en cours [Toutes versions]


Sujet :

Access

  1. #1
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2019
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2019
    Messages : 93
    Points : 70
    Points
    70
    Par défaut Compactage d'une bdd en cours
    Bonjour,
    je cherche une méthode permettant, en vb, de compacter la base de données en cours.
    J'ai vu une réponse dans les f.a.Q (voir ci-dessous) mais le lien renvoie une erreur 404, ce qui est compréhensible près de 15 ans après le message
    Pour MS Access 2000 et plus.
    Vous trouverez ci-dessous une bibliothèque qui vous permettra de compacter la base en cours.

    Créé le 20 novembre 2005 par Maxence HUBICHE
    Lien : TSI SOON (Shut One, Open New) database add-in


    bref, est-ce encore possible vu que je souhaite, comme beaucoup d'utilisateurs je crois, pouvoir réinitialiser par programmation le numéroAuto de certaines tables ?

    Au fait, et c'est une seconde question, peut-on aisément copier une table (par requête création et / ou ajout ou instruction SQL pure) SANS que le numéroAuto de la première table
    vienne s'installer dans la seconde. Ceci permettrait aisément de résoudre le problème de la réinitialisation du NuméroAuto par le biais de 2 copies successives des données (table vers sauvegarde - sauvegarde vers table)
    J'ai également songé à remplacer le numéroAuto interne d'Access par un champ clé créé personnellement, mais cela ne semble pas donner un meilleur résultat.

    Merci de votre patience.

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    J'ai vu une réponse dans les f.a.Q (voir ci-dessous) mais le lien renvoie une erreur 404, ce qui est compréhensible près de 15 ans après le message
    il y a pourtant d'autres solutions dans la FAQ
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2019
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2019
    Messages : 93
    Points : 70
    Points
    70
    Par défaut Compactage BDD
    Merci pour votre information.
    Malgré mes recherches, je n'avais pas vu cette réponse.
    Un seul hic, hélas, cela ne fonctionne pas sur la DB en cours comme c'est clairement mentionné.

    En conséquence je pars sur une autre piste qui permettrait d'oublier le compactage :
    - copie de sécurité de la table à traiter
    sur la base à traiter :
    - suppression de l'index primary key (drop index)
    - suppression du champ ex clé primaire (alter table)
    - copie de travail de la table simplifiée (requête creation)
    - effacement de la table à traiter docmd
    - recréation de la table originale depuis la copie de travail (requête création)
    - ajout du champ futur clé primaire (alter table)
    - ajout de l'index primary key sur ce champ (create index)

    Encore merci pour votre aide

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    Un seul hic, hélas, cela ne fonctionne pas sur la DB en cours comme c'est clairement mentionné.
    toute compression nécessite que la base soit fermée au préalable ou que l'on travaille avec une copie de cette base, il n'y a pas d'autre choix quelque soit le logiciel utilisé
    sur la base à traiter :
    - suppression de l'index primary key (drop index)
    - suppression du champ ex clé primaire (alter table)
    - copie de travail de la table simplifiée (requête creation)
    - effacement de la table à traiter docmd
    - recréation de la table originale depuis la copie de travail (requête création)
    - ajout du champ futur clé primaire (alter table)
    - ajout de l'index primary key sur ce champ (create index)
    Oui, si les tables à traiter sont vides et que se sont des tables de travail, sinon je ne comprendrais pas le besoin ...
    et dans ce cas, pourquoi ne pas travailler avec des tables modèles (copie d'une table vide en remplacement de l'ancienne) ?
    Il est quand même conseillé de compacter régulièrement pour libérer l'espace qu'engendrent les suppressions successives.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2019
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2019
    Messages : 93
    Points : 70
    Points
    70
    Par défaut Compactage BDD
    Citation Envoyé par tee_grandbois Voir le message
    bonsoir,

    toute compression nécessite que la base soit fermée au préalable ou que l'on travaille avec une copie de cette base, il n'y a pas d'autre choix quelque soit le logiciel utilisé

    Oui, si les tables à traiter sont vides et que se sont des tables de travail, sinon je ne comprendrais pas le besoin ...
    et dans ce cas, pourquoi ne pas travailler avec des tables modèles (copie d'une table vide en remplacement de l'ancienne) ?
    Il est quand même conseillé de compacter régulièrement pour libérer l'espace qu'engendrent les suppressions successives.
    En effet,
    un tout grand merci pour l'assistance.
    je marque clôturé pour la discussion.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Août 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Algérie

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Août 2019
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Compactage bdd
    J'espère ne pas être hors sujet avec la question posée. Le problème de compactage se pose surtout avec les utilisateurs qui négligent cette opération pourtant indispensable. Pour mon cas, j'ai ajouté sur le form à côté du bouton "Quitter" une case à cocher bien grasse et bien visible avec l'étiquette : "Quitter avec compactage".
    Dans la procédure _Click() du bouton Quitter, la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If blnCompact then Application.SetOption "Auto Compact", true
    Ce truc je l'ai pêché d'abord dans 'vba access 2007' de Michèle Amelot à la page 54.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. compactage d'une base en cours
    Par jaquot14 dans le forum Access
    Réponses: 2
    Dernier message: 24/03/2020, 18h40
  2. [Toutes versions] Planification du compactage et archivage d'une BDD access
    Par ami19 dans le forum VBA Access
    Réponses: 6
    Dernier message: 04/11/2019, 23h05
  3. Conception d'une BDD pour cours de bourse
    Par doug75 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 18/10/2016, 16h00
  4. Réponses: 4
    Dernier message: 05/03/2015, 18h04
  5. [AC-2007] Plantage lors du compactage d'une bdd
    Par Library dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 11/05/2009, 11h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo