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

VBA Access Discussion :

Ouvrir base dorsale pour la compacter


Sujet :

VBA Access

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2019
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2019
    Messages : 59
    Points : 40
    Points
    40
    Par défaut Ouvrir base dorsale pour la compacter
    Hello le forum,

    Je suis en train de dev une petite bdd pour ma boite.

    Dans cette bdd, chaque semaine j'importe pas mal de data d'un fichier txt dans une table.

    Je vide la table en question via une requete de suppression, puis j'importe mes datas.

    Je vais fonctionner avec le systeme dorsale/frontale.

    Mon problème est que lors de mon importation de data soit 16 mo ma bdd grossie vite ...

    Mon idée (en zonant ici où là) est d'ouvrir chaque semaine ma dorsale, et de la fermer aussitot, puis faire mon traitement normal (suppression + importation). J'aurais au préalable cocher l'option "compacter apres fermeture"

    Est-ce une bonne idée ?

    Si oui, auriez vous un exemple de code qui fait ceci ?

    Merci d'avance.

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Bonjour,

    C'est dommage d'utiliser une base access car à terme c'est très limitatif et le temps gagné au début est largement reperdu par la suite quand on doit passer à autre chose

    Le problème du compactage est un des gros points faibles d'access. La frontale peut être en compactage automatique à la fermeture mais pas la dorsale car elle n'est jamais "fermée". Pourtant il faut le faire souvent et cela nécessite que personne n'ait le logiciel ouvert à ce moment.
    3 solutions :
    - à la main : faire le tour des utilisateurs pour les déconnecter puis ouvrir la base et la compacter chaque fois qu'elle devient "trop grosse"
    - par programme : stocker quelque part la date du dernier compactage, essayer de compacter à chaque nouvelle ouverture (ou fermeture) et rappeler aux utilisateurs qu'ils doivent quitter le logiciel tous les soirs si le dernier compactage est trop ancien
    - partir directement avec une vraie base de données comme dorsale
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2019
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2019
    Messages : 59
    Points : 40
    Points
    40
    Par défaut
    Bonsoir,

    Et si je choisi l'option compactage avant fermeture sur ma base.

    Ensuite je scinde ma bdd en dorsale/frontale.

    Lorsqu'un utilisateur fermant sa frontale, ça compacte la dorsale ?

    Merci

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Citation Envoyé par Rag02700 Voir le message
    Lorsqu'un utilisateur fermant sa frontale, ça compacte la dorsale ?
    Bah non ça serait trop simple
    A la limite il vaut mieux ne pas scinder tant que ça reste petit...
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2019
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2019
    Messages : 59
    Points : 40
    Points
    40
    Par défaut
    Je vois ...

    Je pense que c'est ce que je vais faire ne pas scinder.

    Par contre je suis curieux de savoir si un utilisateur ferme la base avec l'option automatique de compactage à la fermeture et qu'un autre utilisateur saisi sur la base ???

    Merci

  6. #6
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Il compacte quand le dernier éteint la lumière en partant.
    S'il y a un petit malin qui ne se déconnecte jamais, il ne compacte jamais...
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  7. #7
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 419
    Points : 2 178
    Points
    2 178
    Par défaut
    bonsoir,
    il y aura toujours quelqu'un pour te dire que c'est pas possible car de bien entendu il y aura toujours quelqu'un qui ne fermera pas sa cession!

    en fait sauf écrire des mailing pour sensibiliser tes congénères , tu ne trouveras pas de solution viable!

    je t'invite à écrire un vbscript qui exécute le compactage de ta base en prenant soin de gérer le fait que la base n'est pas forcément fermée!

    tu exécutera ce vbscript via le gestionnaire de tache de façon nocturne tous les soir par exemple! sur un moi il est for probable que le compactage fonctionne plusieurs fois!


    https://www.developpez.net/forums/d1...r-base-donn-e/

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2019
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2019
    Messages : 59
    Points : 40
    Points
    40
    Par défaut
    Je prends bonne note de vos infos.

    C'est + clair pour moi maintenant et je vous en remercie.

    ++

  9. #9
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 419
    Points : 2 178
    Points
    2 178
    Par défaut
    Bonjour,
    voila un exemple de VBSCRIPT que tu peux réaliser pour compacter ta base!

    tu peux télécharger VBS Factory c'est gratuit!

    Code VnScript : 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
    On Error resume next
    main
    if Err then
       with createObject("Scripting.FileSystemObject")
            with.OpenTextFile("C:\Myrep\Fichier.log", 8)
            .WriteLine( now & vbcrlf & err.description & vbcrlf & string(255,"*"))
            .Close
           end with
        end with
    end if
    Sub Main
    with  CreateObject("Scripting.FileSystemObject")
        if not .FileExists("C:\Myrep\Fichier.log") then
    .CreateTextFile("C:\Myrep\Fichier.log")
      end if
      if .FileExists("C:\Myrep\DBTest_Compact.accdb") then
            .DeleteFile  "C:\Myrep\DBTest_Compact.accdb"
      end if
      with  CreateObject("DAO.DBEngine.120")
            .CompactDatabase "C:\Myrep\DBTest.accdb", "C:\Myrep\DBTest_Compact.accdb"
      end with
       if .FileExists("C:\Myrep\DBTest_Compact.accdb") then
            .DeleteFile  "C:\Myrep\DBTest.accdb"
            .MoveFile "C:\Myrep\DBTest_Compact.accdb", "C:\Myrep\DBTest.accdb"
      end if
    end with
    end sub

  10. #10
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2019
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2019
    Messages : 59
    Points : 40
    Points
    40
    Par défaut
    Merci Thumb down

  11. #11
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 419
    Points : 2 178
    Points
    2 178
    Par défaut
    Bonjour,
    Notes que tu peux modifier ce script pour envoyer un mail à tes congénères en cas d'erreur qui de toute évidence vindra du fait que la base est restée ouverte !

  12. #12
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2019
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2019
    Messages : 59
    Points : 40
    Points
    40
    Par défaut
    Hello,

    Oui, c'est noté

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/12/2015, 14h00
  2. compacter la base dorsale
    Par mnssylvain dans le forum VBA Access
    Réponses: 26
    Dernier message: 10/03/2008, 13h13
  3. Réponses: 3
    Dernier message: 20/11/2006, 14h16
  4. Réponses: 3
    Dernier message: 12/10/2005, 13h53
  5. Ouvrir Lotus Notes pour envoi d'état
    Par nbelg27 dans le forum Access
    Réponses: 1
    Dernier message: 15/09/2005, 21h12

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