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 :

Parcourir les enregistrements d'un formulaire access [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 98
    Points : 97
    Points
    97
    Par défaut Parcourir les enregistrements d'un formulaire access
    Bonjour

    Il existe déjà une discussion sur ce sujet, mais je n'ai pas réussis à la mettre en oeuvre sur mon problème. Voici la discussion en question

    Je dispose d'un formulaire continu qui affiche une liste d'enregistrement avec plusieurs champs (date, titre, description,...).

    je voudrais afficher un message d'alerte si la date est supérieur à 10 jours ( aujourd'hui - date > 10 jours

    Voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    nbrjour = Now - Me.Date_Post.Value
     
        If (nbrjour >= 10) Then
            MessageAvertissement.Value = "Attention demande créer depuis " & nbrjour & " Jour(s)."
        Else
            MessageAvertissement.Value = ""
        End If
    Je code fonctionne, mais il effectue le test que sur le premier enregistrement (j'ai essayé la solution sur l'autre discussion j'ai le même problème)

    Merci de votre aide

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Il faut déclencher ton test sur l'événement Current() du formulaire.

    Argy

    P.S. créer s'écrit dans ton cas créée

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 98
    Points : 97
    Points
    97
    Par défaut
    Bonjour

    Merci pour ta réponse rapide, mais cela ne fait pas ce que je souhaite. Le code s'éxécute convenable et fait bien ce que je veux. Mais le résultat est identique à chaque ligne.

    Ce que je voudrais c'est qu'il récupére la date de la ligne 1, vérifie le test affiche le message si la condition est vérifié, et ainsi de suite.

    La il m'affiche le même résultat pour toutes les lignes.

    As tu une idée.

    Merci

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Est-ce que Me.Date_Post.Value est bindé sur un champ de la table source ?
    Si non, eh bien il faut le créer.

    Argy

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 98
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par argyronet Voir le message
    Est-ce que Me.Date_Post.Value est bindé sur un champ de la table source ?
    Si non, eh bien il faut le créer.

    Argy
    Le champs "Me.Date_Post.Value " est bien créer dans ma table source
    Cordialement

  6. #6
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Ok et il figure dans le formulaire continu ou bien dans le formulaire parent ?

    Argy

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 98
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par argyronet Voir le message
    Ok et il figure dans le formulaire continu ou bien dans le formulaire parent ?

    Argy
    Il figure sur le formulaire (Visible et activé)

  8. #8
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Humm, ok...
    Donc en fait, ce que tu constates, c'est que
    MessageAvertissement.Value
    contient le même message pour toutes les lignes.
    Si c'est la cas c'est parce qu'il est indépenpant et pas attaché à un champ de table. Donc il faut que tu le créés dans la table et qu'ensuite tu modifies sa propriété ControlSource en conséquence.

    Argy

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 98
    Points : 97
    Points
    97
    Par défaut
    Bonjour

    Merci de ton aide, après de multiple recherche sur le web, j'ai trouvé beaucoup de réponse sur mon problème. Mais la plupart sont des bidouillages.

    Pour mon problème de message j'ai trouvé une solution, j'ai effectué le calcule des jours dans la requête sources est je l'affiche (il s'affiche tout le temps, c'est mieux que rien)

    Cependant j'ai un second problème, je voudrais toujours dans le même formulaire, modifier la couleur de fond d'une zone de texte.

    Si (Corrigée = vrai) alors
    zonedetexte.backcolor = blue
    sinon
    zonedetexte.backcolor = blanc


    Corrigée est la zone de text sont des champs de ma base

    Si quelqu'un à une solution je suis preneur

    Merci

  10. #10
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    La mise en forme conditionnelle me semble être la plus appropriée.

    Argy

  11. #11
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 98
    Points : 97
    Points
    97
    Par défaut
    Bonjour

    Je n'avais pas penser à cette solution, je viens de la tester, mais le problème est identique, il effectu le test sur la première ligne. Si la première ligne vérifis le test toutes les lignes sont modifier

    J'ai mis ça comme expression dans la mise en forme conditionnel "[CurrentRecord].[Corrigee].Texte=-1"

    Cordialement

  12. #12
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    C'est donc ce que je pense, MessageAvertissement n'est pas un champ de table et il faudrait qu'il le soit, ou alors, ta mise en forme conditionnelle n'est pas établie comme il se doit...

    Argy

  13. #13
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 98
    Points : 97
    Points
    97
    Par défaut
    Bonjour

    Le problème est résolu, je vous remercie de votre aide. Est pour ceux que ça peut intérressé voici le code

    Dans mon champs ou s'affichera le message j'y affecte cette source

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =VraiFaux((Maintenant()-[Date_Post])>10;"Attention demande créée depuis " & Round([nbrJour]) & " Jour(s).")
    Bon courage à vous tous

    Cordialement

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

Discussions similaires

  1. Parcourir les enregistrements d'un formulaire access
    Par mymi10 dans le forum VBA Access
    Réponses: 12
    Dernier message: 31/12/2007, 09h24
  2. Réponses: 13
    Dernier message: 24/11/2006, 14h31
  3. Réponses: 13
    Dernier message: 01/12/2005, 17h44
  4. Pb avec les enregistrements d'un formulaire.
    Par Celia1303 dans le forum Access
    Réponses: 1
    Dernier message: 08/11/2005, 10h46
  5. état avec tous les enregistrements d'un formulaire
    Par Arkalys dans le forum Access
    Réponses: 9
    Dernier message: 30/09/2005, 11h45

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