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 :

Comportement d'une étiquette/logo en fonction de la valeur d'un autre champ


Sujet :

Access

  1. #1
    Membre du Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2019
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2019
    Messages : 194
    Points : 40
    Points
    40
    Par défaut Comportement d'une étiquette/logo en fonction de la valeur d'un autre champ
    Bonjour à tous,

    Je fait appel à vous au sujet d'un petit code que je n'arrive pas à faire fonctionner, je souhaite faire apparaitre "ou non" une étiquette (image) au sein de mon formulaire en fonction de la valeur d'un champ situé dans un autre formulaire.

    J'ai l'impression que ca ne veux pas fonctionner quand le champ appelé se situe dans un autre formulaire, ecce possible de faire ce genre de chose ou cela fonctionne uniquement si tous mes élément se situe sur un et même formulaire ?

    Le champ à surveiller se trouve dans un formulaire nommé "Base", donc si la valeur du champ [NbreFichiers] est supérieur à zéro, alors mon étiquette nommé "logo" doit être visible, sinon invisible.

    Sans oublier que le champ que je veux surveiller [NbreFichiers] peut évoluer, j'ai donc mis mon code sur minuterie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Form_Timer()
     
    If [Form]![Base]![NbreFichiers] > 0 Then
    Me.logo.Visible = True 
    Else
    Me.logo.Visible = False
    End If
    End Sub

    Je suppose que le code que j'envoie comportent pleins d'erreurs de syntaxe ?

    Cordialement,

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 621
    Points : 14 577
    Points
    14 577
    Par défaut
    bonjour,
    Je suppose que le code que j'envoie comportent pleins d'erreurs de syntaxe ?
    non juste une seule erreur, comme dans ta dernière phrase
    il faut mettre Forms![Base] car il s'agit de la collection des formulaires
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre du Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2019
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2019
    Messages : 194
    Points : 40
    Points
    40
    Par défaut Re
    Bonjour tee_grandbois,

    D'abord merci pour ton aide et donc j'ai suivi ton conseil et corrigé ma faute mais ca ne fonctionne toujours pas.
    Il y à peut-être quelques paramètres à préciser pour que tu puissent réellement comprendre le dérouler.

    Voici donc mon code actuel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Form_Timer()
     
    If Forms![Base]![Nmbrefichier] > 0 Then
    Me.logo.Visible = True
    Else
    Me.logo.Visible = False
    End If
    End Sub
    La configuration est la suivante :

    J'ai dans mon formulaire [Base] un champ nommé [Nmbrefichier] qui à pour but de compter le nombre de fichier contenu dans un dossier cible situé dans mon ordinateur.
    Une fois qu'il à fait son boulot, il m'affiche donc un résultat et ca fonctionne assez bien.

    Maintenant dans mon formulaire [Menu_S] ou se trouve mon fameux logo à afficher ou non selon la valeur du champ situé dans le menu [Base].

    Je ne vais pas répéter ce que j'ai déjà dit dans mon ancien message au risque de me reprendre ou aggraver le nombre de fautes d'orthographes


    Si pour toi le code corrigé devrais fonctionner, alors un paramètre m'échappe peut-être.

    Cordialement,

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 621
    Points : 14 577
    Points
    14 577
    Par défaut
    bonjour Marionette,
    Je ne vais pas répéter ce que j'ai déjà dit dans mon ancien message au risque de me reprendre ou aggraver le nombre de fautes d'orthographes
    pas besoin :
    Il y à a peut-être quelques paramètres à préciser pour que tu puissents réellement comprendre le dérouleré.
    Si pour toi le code corrigé devraist fonctionner, alors un paramètre m'échappe peut-être.
    le Timer fonctionne avec un valeur d'intervalle de temps qui doit être différent de 0: c'est la propriété "Intervalle minuterie", la valeur 1000 équivaut à 1 seconde, donc 30000 déclenchera l'évènement Form_Timer toutes les 30 secondes
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Membre du Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2019
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2019
    Messages : 194
    Points : 40
    Points
    40
    Par défaut Re
    tee_grandbois,

    Oui j'ai bien compris le principe du "timer" et je l'ai réglé sur 1000 soit 1 seconde.

    Tu as l'air plus excité par mes fautes d'orthographe que par mon projet donc....

  6. #6
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 621
    Points : 14 577
    Points
    14 577
    Par défaut
    Tu as l'air plus excité par mes fautes d'orthographe que par mon projet donc....
    à quel moment ai-je montré des signes d'excitation ?
    Oui j'ai bien compris le principe du "timer" et je l'ai réglé sur 1000 soit 1 seconde.
    j'ai testé ton code et je n'ai pas ce problème... Comment est mis à jour le champ Nmbrefichier ?
    Si tu as la possibilité de mettre une copie de ta base à disposition sans données confidentielles, je n'ai rien contre
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  7. #7
    Membre du Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2019
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2019
    Messages : 194
    Points : 40
    Points
    40
    Par défaut
    tee_grandbois,

    Voici une copie de ma BDD.

    Je te suggère de crée un dossier Windows en crée un fichier .txt nommée "Frzkaci" puis d'indiquer le chemin du dossier dans le formulaire approprié, tu peux également passer directement par la table.

    Au passage je remarque un petit bug lorsqu'il n'y à plus de fichier dans le dossier correspondant à mon critère, mon champ à tendance à disparaitre au lieu d'afficher "0" mais c'est pas très méchant non plus.

    Test.zip

    Cordialement,

  8. #8
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 621
    Points : 14 577
    Points
    14 577
    Par défaut
    le champ s'appelle NbreFichiers dans Base et tu testes Nmbrefichier dans Menu_S donc cela provoque une erreur 2465 (Acces ne trouve pas le champ <<Nmbrefichier>> auquel il est fait référence dans votre expression) ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  9. #9
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 621
    Points : 14 577
    Points
    14 577
    Par défaut
    Au passage je remarque un petit bug lorsqu'il n'y à plus de fichier dans le dossier correspondant à mon critère, mon champ à tendance à disparaitre au lieu d'afficher "0" mais c'est pas très méchant non plus.
    tu peux mettre ce code à la fin de Form_Timer
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.NbreFichiers = Nz(Me.NbreFichiers, 0)
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  10. #10
    Membre du Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2019
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2019
    Messages : 194
    Points : 40
    Points
    40
    Par défaut Re
    Mon dieu que je suis co***

    En effet ca fonctionne, à force d'essayer , encore et encore je finie par écrire n'importe quoi !
    Surtout que je suis au boulot je fait ca à la va vite !

    Tu as constatée comme moi le bug du champ qui disparait quand tu supprime le fichier .txt que tu à crée ou tu n'es pas allé jusque la ?
    A mon avis c'est l'effet que j'ai voulu donner de clignotement qui provoque ce bug non ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me![NbreFichiers].Visible = Not Me![NbreFichiers].Visible

  11. #11
    Membre du Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2019
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2019
    Messages : 194
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    tu peux mettre ce code à la fin de Form_Timer
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.NbreFichiers = Nz(Me.NbreFichiers, 0)
    Re,

    Alors pour le code que tu ma conseillé en fin de code ça na pas résolue mon problème mais j'ai identifiée ce qui provoquait cela et c'est tout bête.
    Enfaite étant donné que mon champ clignote toutes les 1 secondes.. si au moment ou le comptage passe à zéro le champ est visible, alors le champ est apparent, et à l’inverse si le champ été invisible au moment ou le comptage passe à zéro alors le champ reste invisible.

    Je vais donc retirer cette option certes inutile mais j'aime bien quand ça clignote surtout en approche de noël.

    Merci en tout cas

    Cordialement,

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/07/2013, 18h13
  2. Réponses: 2
    Dernier message: 18/06/2012, 11h28
  3. Réponses: 9
    Dernier message: 19/07/2011, 13h39
  4. Réponses: 1
    Dernier message: 23/04/2007, 11h13
  5. Réponses: 5
    Dernier message: 30/12/2006, 16h35

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