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 :

Fonction qui s'autoexecute a chaque periode de temps defini


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par défaut Fonction qui s'autoexecute a chaque periode de temps defini
    Salut tout le monde

    J’ai une table A qui contient toutes les activitesjournalieres qui se passent sur un plancher de production. Cette table grossit enormement a chaque mois en taille, ce qui ralentit de beaucoup la vitesse d’execution de tous les requetes et etats qui sont bases sur cette table. Je cherche donc une solution pour resoudre ce probleme de lenteur.
    Donc j’ai pense faire une function qui automatiquement, a chaque debut du mois (ou a chaque 15 du mois), deplace les vieux enregistrements vers une table B. Pour etre plus precise, je veux deplacer les enregistrements qui sont vieux d’au moins 2 mois. Par exemple, si la function s’autoexecute a chaque 15 du mois, donc le 15 novembre, il va deplacer vers la table B, tous les enregistrements qui sont anterieurs au mois de septembre.
    Mais je ne sais pas vraiment comment m’y prendre pour creer cette fonction . Quelqu’un a une idée? Ou peut etre une facon differnete pour resoudre mon probleme?


    Merci d'avance

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour,

    A mon avis tu as 2 façons de faire :
    - soit, comme tu le dis, archiver périodiquement, mais tu devras mémoriser la date du dernier archivage ;
    - soit archiver systèmatiquement à l'ouverture ou à la fermeture de la base, ce qui est plus simple et probablement peu pénalisant ( surtout à la fermeture).

    Pour l'archivage lui même c'est assez simple. Il y a plusieurs façons de faire, mais je pencherais a priori pour une méthode DAO. En supposant que tu as créé une table d'archive en copiant la structure des données de ta table à nettoyer :
    - tu crées un rst sur la table en filtrant les enregistrements répondant au critère d'ancienneté
    - tu crées un rst2 sur la table d'archive
    - tu recopies le rst dans le rst2
    - tu supprimes tous les enregitrements du rst.

    Bon courage,

    PGZ

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 50
    Par défaut un ptit coup de pouce
    qui t'intéressera surement...
    J'ai résolu un pb similaire.

    Il y a de l'ADO et du DAO.
    Pour une selection de champ ou pour une table entière

    recherche avec le google du site "[FAQ] Comment faire transiter les données d'une base a une autre ADO et recordset"

    @+
    Zeste
    Carpediem carpenoctem
    J'ai trouvé un nouveau boulot, sans passé par "l'ANPE" c'est cool!

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Par défaut
    tu compactes ta base de temps en temps ?

    pour un maximum de performance place tes données archive dans une table liée dans une autre base

  5. #5
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par défaut
    Merci pour les suggestions. Je vais essayer ca

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

Discussions similaires

  1. fonction qui retourne les première lettres de chaque mot en PHP
    Par simonlaurent5000 dans le forum Langage
    Réponses: 5
    Dernier message: 22/02/2012, 20h50
  2. Variable qui change de valeur à chaque appel de fonction
    Par bpascal123 dans le forum Débuter
    Réponses: 5
    Dernier message: 12/03/2010, 11h47
  3. Réponses: 3
    Dernier message: 26/06/2008, 21h33
  4. Fonction qui s'active lorsqu'un Form bouge
    Par Xavier dans le forum C++Builder
    Réponses: 3
    Dernier message: 22/05/2003, 12h54
  5. 2 fonctions qui tournent en même temps
    Par GOUGOU1 dans le forum C
    Réponses: 7
    Dernier message: 07/12/2002, 18h42

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