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 :

Compteur ouverture Access


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 86
    Points : 29
    Points
    29
    Par défaut Compteur ouverture Access
    Bonjour à tous!

    Je suis en train de créer une applic' sous access 1997 et je suis bloqué.
    Je vous explique mon problème: en fait je voudrais créer un compteur qui me permettent de m'indiquer le nombre de fois que la base de données a été ouverte.

    Savez-vous si c'est possible? Si oui, pourriez-vous me donner une solution.

    Merci par avance pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour et bienvenu sur le forum Office de DVP.

    Oui, cela doit être possible, voici une solution à tester.

    1 - Création d'une table avec un champ de type long
    2 - Création d'une requête qui met ce champ à jour en rajoutant 1 à chaque fois
    3 - Création d'une fonction qui lance cette requête
    4 - Création d'une macro qui sera nommée AutoExec et qui lancera cette fonction.

    Ainsi à l'ouverture de ta base la macro AutoExec se déclenchera.

    C'est une idée, jamais testée.

    Starec

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 227
    Points : 222
    Points
    222
    Par défaut
    C'est possible.

    Tu céé une procédure qui écrit une entrée dans la base de registre.
    A l'ouverture de ta base, tu lit la valeur de ton entrée de base de registre.
    Tu en profites pour y ajouter 1 et tu remplace ta valeur par la nouvelle

    Salutations

    Bruno

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 86
    Points : 29
    Points
    29
    Par défaut
    euh...
    merci pour vos réponses très rapides mais est-ce que vous pourriez être plus explicites en fait.
    Je suis novice avec access!!!

    Pourriez vous m'indiquer les étapes une a une s'il vous plait? Désolé de vous déranger comme ca.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 227
    Points : 222
    Points
    222
    Par défaut
    Je te renvoi vers starec, sa solution est plus simple.
    Il voulait dire:

    1 - Tu créé une table avec un champs que tu définit comme numérique (type de données) définit en Entier Long (taille du champs) Ce champs a la valeur 0 au départ
    2 - Tu créé une requète de mise à jour pour ton champs qui ajoute 1
    3 - Tu créé une procédure dans un module qui fait ce que tu veut (récupère le nombre d'ouvertures si besoin) et qui lance l'execution de la requête
    4 - Création d'une macro nomée Autoexec qui lance la procédure (cette macro doit s'executer à l'ouverture de ta base)

    Salutations

    Bruno

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 86
    Points : 29
    Points
    29
    Par défaut
    je n'ai pas bien compris l'étape 3 en fait!!

    pourrais-tu me la réexpliquer s'il te plait?

    Encore merci pour ton aide et ta patience.

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 227
    Points : 222
    Points
    222
    Par défaut
    L'étape 3 n'est pas obligatoire, ça dépend de ce que tu veut faire.

    Un module te permet d'enregistrer du code en dehors d'un formulaire. Ce code est Public, donc utilisable depuis n'importe quelle Sub. L'avantage d'une procédure, c'est que tu ne l'écrit qu'une seule fois, et tu l'utilise autant de fois que tu veut, depuis n'importe où dans ton prog, avec une seule ligne de code

    Dit moi précisément ce que tu veut faire avec ton compteur d'ouverture.

    Salutations

    Bruno

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 86
    Points : 29
    Points
    29
    Par défaut
    en fait je voudrais que mon compteur s'incrémente dès que la base de données est ouverte par l'utilisateur.
    c'est un indicateur de fréquence d'utilisation.

    s'il l'ouvre 10 fois, j'aimerais pourvoir savoir qu'il l'a ouverte 10 fois.

    tu vois ce que je veux ou je n'ai pas été assez précis?

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 227
    Points : 222
    Points
    222
    Par défaut
    Ca j'avais compris. Je reformule : quand veut tu savoir combien de fois ta base a été ouverte? En fonction du résultat, tu effectue une tache?

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 86
    Points : 29
    Points
    29
    Par défaut
    en fait, dans un formulaire j'aurais un bouton qui me permettra de consulter le nombre de connexion.
    je n'effectuerais pas de tache en fonction du résultat.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 37
    Points : 33
    Points
    33
    Par défaut
    Il suffit que tu créé une procédure qui executera ta requete d'incrementation du nombre d'ouverture comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Dim qdf As DAO.QueryDef 
    Dim rcs As DAO.Recordset 
     
      'référence à la requête 
    Set qdf = CurrentDb.QueryDefs("NomQuery") 
     
      'code qui utilise qdf 
      'par exemple 
    qdf.Parameters("NomParamètre") = valeur     '<== si requête paramétrée 
    qdf.Execute                                 '<== si requête action 
    Set rcs = qdf.OpenRecordset                 '<== pour travailler sur les données 
     
     
      'libération de la référence 
    Set qdf = Nothing
    Source FAQ Access

    Que tu appelleras ensuite où tu souhaites que l'incrémentation se fasse

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 86
    Points : 29
    Points
    29
    Par défaut
    il faut que je fasse quelle genre de requete?

    le code je le mets ou?

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 227
    Points : 222
    Points
    222
    Par défaut
    Ok.

    Donc tu prend en compte la réponse de Nikogi

    Pour ton formulaire de consultation, tu utilise un Dlookup

    Salutations

    Bruno

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 86
    Points : 29
    Points
    29
    Par défaut
    Un dlookup???

    la réponde de nigoki je n'ai rien compris....

    Ma requête de mise à jour du compteur est faite.
    Mais comment faire pour l'éxécuter automatiquement à chaque ouverture?

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 37
    Points : 33
    Points
    33
    Par défaut
    Bon alors si ta requete est faite, tu utilise mon exemple qui utilise une requete existante, et tu le met dans un événement [sur clic] de ton bouton par exemple.

  16. #16
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 227
    Points : 222
    Points
    222
    Par défaut
    Si tu as un formulaire de démarrage, tu place le code donné par Nigoki (désolé, je m'était trompé dans le pseudo tout à l'heure) dans l'évenement sur form load, par exemple.

    Bruno

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 86
    Points : 29
    Points
    29
    Par défaut
    je copie tout ton code??

    "NomQuery" c'est quoi?

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 37
    Points : 33
    Points
    33
    Par défaut
    Oui tu copie tout, sauf la déclaration du recordSet normalement, tu dois l'obtenir avec ton objet Connexion.

    "NomQuery" c'est le nom de la reqête SQL a appeller.

    PS : Pas de soucis Bruno28

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 86
    Points : 29
    Points
    29
    Par défaut
    désolé je ne comprends plus rien....
    ma requete s'appelle "Requete1"
    ma table "Compteur" et la valeur qui se met à jour est "valeur"

    peux tu me donner le code final stp??? merci pour ta patience et ton aide

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 37
    Points : 33
    Points
    33
    Par défaut
    Alors deja, tu peux tout copier j'ai dit une betise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim qdf As DAO.QueryDef 
    Dim rcs As DAO.Recordset 
     
      'référence à la requête 
    Set qdf = CurrentDb.QueryDefs("Requete1") 
     
      'code qui utilise qdf 
      'par exemple 
    qdf.Parameters("NomParamètre") = valeur     '<== si requête paramétrée 
    qdf.Execute                                 '<== si requête action
    Voila, tu met ça dans la ou tu veux que ça s'incrémente et c'est bon, sur un [OnLoad] de ton formulaire principal par exemple, c'est a toi de voir.

    Cependant, il faut avoir prévu dans ta requete, de bien ajouter 1 a la valeur de ton champ "valeur" de la table "Compteur", sinon tu devra récupérer cette valeur avec une autre requete.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. compteur ouverture dossier et/ou fichier
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 04/04/2008, 20h06
  2. Message d'erreur à l'ouverture access 2003
    Par jmd331 dans le forum IHM
    Réponses: 3
    Dernier message: 24/10/2007, 22h07
  3. Ouverture Access exclusif
    Par francois78 dans le forum Access
    Réponses: 3
    Dernier message: 26/01/2007, 12h42
  4. Compteur ouverture base
    Par cefanic dans le forum Access
    Réponses: 5
    Dernier message: 06/12/2006, 19h08
  5. ouverture access réseau
    Par mschistozis dans le forum Access
    Réponses: 8
    Dernier message: 29/10/2004, 16h19

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