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 de la base en cours [À faire]


Sujet :

Access

  1. #1
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut Compactage de la base en cours
    Bonjour à tous !

    Voilà, je sais que les macros ne fonctionnnent pas.
    Je sais que les méthode compact ... ne fonctionnent pas dans ce cas non plus.
    Je suis sur une version Access 2000
    c'est un .mdb (une base de données quoi, pas un projet...)
    la base doit pouvoir tourner sur un runtime 2000
    et mon problème est le suivant :

    Comment pourrais-je reproduire la facultée fournie par les commandes d'access de compacter la base en cours ?

    Je ne réussis pas...

    Si un génie de bonne augure pouvait me donner la solution qu'il a, ou qu'il a trouvé, je lui mettrai un cierge !

    Mercià tous de vous pencher sur mon problème !

  2. #2
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    et l'option "Compact on close", ca te suffit pas, juste pour savoir

    Sinon j'ai jamais fait par le code direct a partir d'Access En VB oui mais la

  3. #3
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut

    Ben non, parce que justement, c'est une grosse base (env. 300 Mo)
    Elle ne contient que des données, et je voudrai la compacter seulemednt de temps en temps.
    Pas à chaque fermeture ... le client va devenir fou sinon : 1/4 heure à chaque fermeture ... c'est moyen !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2002
    Messages : 18
    Par défaut
    Tu créer un vbscript que tu fait roulé avec le planificateur de tâche.....

    <C'est ce que je fait> !!

    Et en utilisant la recherche sur le forum tu aurais trouvé... un post que j'ai fait vla pas bien bien longtemps... (Me semble que tu as dit cela à bien du monde !! [Je blague bien sur])

    http://www.developpez.net/forums/vie...658&highlight=

    J'ai placé le code pour fair un vbscript.... En espérant que cela te convienne !!

  5. #5
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    Citation Envoyé par matgel
    Tu créer un vbscript que tu fait roulé avec le planificateur de tâche.....
    <C'est ce que je fait> !!
    Nan ... je voudrai que ce soit à la demande ... pas tous les qqch ...

    Citation Envoyé par matgel
    Et en utilisant la recherche sur le forum tu aurais trouvé... un post que j'ai fait vla pas bien bien longtemps... (Me semble que tu as dit cela à bien du monde !! [Je blague bien sur])
    Ah ben ça !
    Ah ben ça !
    Je l'avais raté celui-là !
    Mais dommage que tu aies blagué ! c'était bien mérité !
    Je n'avais pas lu de solution jusque là !
    Erf ! J'ai raté l'occasion de me taire sur ce coup-là !

    Citation Envoyé par matgel
    http://www.developpez.net/forums/vie...658&highlight=
    J'ai placé le code pour fair un vbscript.... En espérant que cela te convienne !!
    Merci du tuyau en tout cas...
    Je vais regarder ce que je peux en sortir

  6. #6
    Membre chevronné
    Avatar de Etienne Bar
    Homme Profil pro
    Consultant indépendant
    Inscrit en
    Octobre 2002
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Consultant indépendant
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2002
    Messages : 282
    Par défaut
    Je ne garantis pas que le truc marche sous le Runtime.

    Pour permettre à mes utilisateurs de compacter la base, j'ai tout simplement déplacé la commande du menu Outils/utilitaires de la base de données vers le menu de mon application.

    Bon, ça ne te permet de le lancer par programmation mais au moins ça permet à ton utilisateur de compacter la base quand il en a envie.

    Bien sur, il faut penser à faire un rétablir sur la barre de menus "Barre de menus" pour récupérer le compacter dans ce menu.

    Je ne suis pas sur que ça te servira à quelque chose mais on ne sait jamais

  7. #7
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    moi, ce qui me gène, c'est la copie d'une base ouverte (donc, avec les locks ...)
    Je pense qu'il faut faire un complément pour cela.
    Actions :
    1/ fermer la base en cours
    2/ la compacter
    3/ la re-ouvrir

    Qu'en pensez-vous ?

  8. #8
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2002
    Messages
    3 338
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 338
    Par défaut
    de toute facon, si tu passe par les menus prédéfinis access , tu ne pourras pas la compacter si un utlisateur en dessus (en dehors de toi)

  9. #9
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    je suis d'accord...
    Mais ce problème est actuellement inexistant : La base est monoposte.
    Elle va lire une info sur le serveur (y a-t-il des mises à jours).
    En fonction du résultat (oui/non) elle importe les données en local.
    Après cet import, je souhaite proposer le compactage. de la base en cours.
    C'est donc monoposte, et sur le pc en cours.

    La copie d'une base en cours me gène, même si l'idée est géniale.
    J'aimerai donc la fermer proprement, puis la compacter, puis la re-ouvrir.
    Je pense, en en discutant avec vous, que l'idée du complément est intéressante.
    Je vais me pencher dessus.

    Je suis néanmoins preneur de toute idée ou critique sur ce point.

  10. #10
    Membre éclairé

    Inscrit en
    Novembre 2002
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 73
    Par défaut
    et avec une seconde base transparente ??

    je m'explique :

    tu gardes ta base access mais tu en créées une autre toute petite qui sera lancée par le client dans tous les cas !

    tu peux la faire invisible par exemple et au lancement (sur autoexec) elle peut regarder la taille de la vraie base ou par exemple la date de dernier compactage ... si c'est ok elle s'efface et lance la vraie base access si elle voit qu'un compactage est nécessaire elle lance le compactage de la vraie base ....

  11. #11
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    beh non Thogal, puisque je veux que ce soit lors d'un import, et pas obligatoirement...

  12. #12
    Membre averti
    Inscrit en
    Août 2003
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 35
    Par défaut
    rien t'empeche d'utiliser un message box pour savoir si tu veux la compacter ou pas, en adaptant l'idée de thogal , tu recupere un signal d'avertissement et tu decide ensuite si tu veux la compacter...


    norf

  13. #13
    Rédacteur
    Avatar de sinarf
    Homme Profil pro
    Inscrit en
    Octobre 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 210
    Par défaut
    Sinon tu peux aussi utiliser la dll TSISoon qui te permet d'ouvrir une base à partir d'une autre et tu peux parametrer le compactage à la fermeture de la premiere base la seconde base ne servant qu'a rouvrir la premiere.
    Moi c'est ce que je ferais.

  14. #14
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    je viens de faire un test interessant

    Un formulaire ouvert, avec un bouton de commande et ce code dans le bouton:
    Access ne m'a pas jeté et ma base est compactée

  15. #15
    Rédacteur
    Avatar de sinarf
    Homme Profil pro
    Inscrit en
    Octobre 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 210
    Par défaut
    cela ne marche que si tu as les menu par defaut, non ?

  16. #16
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Oui, mais c'est déjà ca
    Il faut au moins le menu Outils - utilitaires- compacter

  17. #17
    Membre chevronné
    Avatar de Etienne Bar
    Homme Profil pro
    Consultant indépendant
    Inscrit en
    Octobre 2002
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Consultant indépendant
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2002
    Messages : 282
    Par défaut
    Citation Envoyé par sinarf
    cela ne marche que si tu as les menu par defaut, non ?
    Si tu mets des raccourcis sur les menus que tu crées, ça doit marcher, non ?

  18. #18
    Rédacteur
    Avatar de sinarf
    Homme Profil pro
    Inscrit en
    Octobre 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 210
    Par défaut
    oui en effet la solution de thierry est proche de celle que tu avais proposé mais mais je ne sias pas si elle satisfaisait ZeMenace.

  19. #19
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    ben .. j'ai déjà essayé avec les barres de menu.
    Je suis passé directement par menubars("...."), car le prjet a, bien sûr, l'ensemble des barres de menu désactivées.
    pb : plantage dans le run-time, alors que ca marchait dans Access ???
    D'autre part, je ne souhaite pas mettre de commande dans mon menu restreint, sur lequel l'utilisateur cliquerait par inadvertance puis ferait des Ctrl+Alt+Del "Paske le pc il a planté"

    Par contre, je suis sur la voie de Sinarf. la dll en question.
    Et au besoin, je comptais me la créer moi-même pour faire exactement ce que j'attends.

  20. #20
    Rédacteur
    Avatar de sinarf
    Homme Profil pro
    Inscrit en
    Octobre 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 210
    Par défaut
    Oh l'autre comment il se la joue !
    Genre : "Moâ, j'te fait une DeLeuLeu quand je veux. J'ai pas besoin de gougueul, je fait tout à la main..."

    enfin du moment que tu suis mes conseils, tout va bien petit scarabé.
    En tout cas tu es quites pour nous rediger une petite Q/R pour la FAQ...

Discussions similaires

  1. [COMPACTAGE] Compacter une base à partir de Java
    Par narmataru dans le forum Access
    Réponses: 2
    Dernier message: 07/11/2005, 21h14
  2. [c#] compactage d'une base Access
    Par froggyinfo dans le forum Access
    Réponses: 16
    Dernier message: 26/10/2005, 14h20
  3. compactage de la base de donnée
    Par Little-Freud dans le forum Access
    Réponses: 3
    Dernier message: 29/10/2004, 13h56
  4. Compactage de la base en cours
    Par edenblum dans le forum VBA Access
    Réponses: 5
    Dernier message: 08/07/2004, 02h05
  5. Le compactage d'une base ne compacte rien
    Par scorplex dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 16/04/2004, 09h34

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