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

IHM Discussion :

[VBA][Access 2000]Faire un if - then sur une étiquette


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 39
    Points : 24
    Points
    24
    Par défaut [VBA][Access 2000]Faire un if - then sur une étiquette
    Bonjour

    j'ai fabriqué un état à partir d'une table et donc insère directement les champs sous forme d'étiquette.
    ces champs ont pour valeur 0 ou 1 mais j'aimerais que sur l'état ça soit oui ou non.
    j'ai essayé de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    'pour cacher l'ancienne étiquette
    Me.forme_habitat_zone_urbaines.Visible = False 
    If Me.forme_habitat_zone_urbaines = "0" Then
    'urbaines est la nouvelle étiquette que je veux afficher
    Me.Urbaines = "Non"
    Else
    Me.Urbaines = "Oui"
    End If
    mais ça ne marche pas access me dit qu'il y a une expression sans paramètre.
    je me doute que c'est le test mais je n'arrive pas à corriger le problème même en essayant avec caption.

    merci

  2. #2
    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
    Citation Envoyé par JulienTough
    Bonjour

    j'ai fabriqué un état à partir d'une table et donc insère directement les champs sous forme d'étiquette.
    ces champs ont pour valeur 0 ou 1 mais j'aimerais que sur l'état ça soit oui ou non.
    j'ai essayé de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    'pour cacher l'ancienne étiquette
    Me.forme_habitat_zone_urbaines.Visible = False 
    If Me.forme_habitat_zone_urbaines = "0" Then
    'urbaines est la nouvelle étiquette que je veux afficher
    Me.Urbaines = "Non"
    Else
    Me.Urbaines = "Oui"
    End If
    mais ça ne marche pas access me dit qu'il y a une expression sans paramètre.
    je me doute que c'est le test mais je n'arrive pas à corriger le problème même en essayant avec caption.

    merci

    Ce sont bien des étiquettes, pas des zones de texte?

    Si ce sont des étiquettes, met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    If Me.forme_habitat_zone_urbaines.Caption = "0" Then
    'urbaines est la nouvelle étiquette que je veux afficher
    Me.Urbaines.Caption = "Non"
    Else
    Me.Urbaines.Caption = "Oui"
    End If
    Ca marche
    Salutations

    Bruno


  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 39
    Points : 24
    Points
    24
    Par défaut
    Bonjour

    effectivement ce sont des étiquettes et j'avais déjà essayé ce que tu m'as dit. lorsqu'on fait cela le programme renvoie le message d'erreur suivant :
    erreur d'exécution '438'
    Propriété ou méthode non gérée par cet objet
    en fait quand on écrit la ligne Caption devrait apparaître dans la liste de sélection, or ce n'est pas le cas.
    cela vient-il du fait que je travaille sur un état et non un formulaire.

    merci

  4. #4
    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
    Remplace donc tes étiquettes par des zones de texte et met .Value
    Salutations

    Bruno


  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 39
    Points : 24
    Points
    24
    Par défaut
    je dois remplacer quelles étiquette par des zones de textes :
    j'ai essayé celle sur laquelle je fais le test mais de la même façon qu'il refusait .caption il refuse .value

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 39
    Points : 24
    Points
    24
    Par défaut
    bonjour

    j'ai essayé de faire le test sur la valeur de tla table dont était issue l'étiquette :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Option Compare Database
     
    Private Sub Report_Open()
     
    Me.forme_habitat_zone_urbaines.Visible = False
    If Tables![export_tro]![forme_habitat_zone_urbaines] = "0" Then
    Me.Urbaines.Caption = "Non"
    Else
    Me.Urbaines.Caption = "Oui"
    End If
     
    End Sub
    mais là Access ne me donne plus de message d'erreur mais ne m'affiche pas nom plus le sous-état dans la visualisation

    merci

  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
    Citation Envoyé par JulienTough
    bonjour

    j'ai essayé de faire le test sur la valeur de tla table dont était issue l'étiquette :
    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
    16
    17
    18
     
    Option Compare Database
     
    Private Sub Report_Open()
     
    Me.forme_habitat_zone_urbaines.Visible = False
    If Tables![export_tro]![forme_habitat_zone_urbaines] = "0" Then
    Me.Urbaines.Caption = "Non"
    Else
    Me.Urbaines.Caption = "Oui"
    End If
     
    Tu ne peut pas tester une table comme ça "If Tables![export...."
     
    L'autre idée. Peut être que tu peut lancer l'exectution d'une requête avant l'ouverture de ton état. Du créé un autre champs à ta table. Ta nouvelle requête de mise à jour rempli ton nouveau champs avec oui ou non en fonction de ta valeur. Dans ton état, tu ne prend en comptes que ton nouveau champs.
    Sinon,je peut pas t'aider.
     
    End Sub
    mais là Access ne me donne plus de message d'erreur mais ne m'affiche pas nom plus le sous-état dans la visualisation

    merci
    Salutations

    Bruno


  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 39
    Points : 24
    Points
    24
    Par défaut
    euh j'ai pas bien compris la réponse
    si j'ai dit qu'Access ne mettait pas de message d'erreur c'est parce qu'il ne fait rien du tout, d'ailleurs quand j'essaye d'ouvrir le sous-état tout seul ça ne marche pas

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 39
    Points : 24
    Points
    24
    Par défaut
    bonjour

    pour plus de précision, avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub Report_Open(Cancel As Integer)
     
    Me.forme_habitat_zone_urbaines.Visible = False
    If Tables![export_tro]![forme_habitat_zone_urbaines] = "0" Then
    Me.Urbaines.Caption = "Non"
    Else
    Me.Urbaines.Caption = "Oui"
    End If
     
    End Sub
    Acces me met toujours objet requis dans la ligne du test

    merci

Discussions similaires

  1. Réponses: 7
    Dernier message: 11/03/2007, 09h35
  2. Aide VBA - Access 2000
    Par amahe dans le forum Access
    Réponses: 1
    Dernier message: 13/08/2006, 10h55
  3. [VBA access 2000]problème surement très bête
    Par herendel dans le forum Access
    Réponses: 5
    Dernier message: 27/04/2006, 14h40
  4. [VBA access 2000] fermeture d'un recordset
    Par herendel dans le forum Access
    Réponses: 2
    Dernier message: 26/04/2006, 10h04
  5. [Access 2000] Faire un INNER JOIN derrière un LET JOIN
    Par Korskarn dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/03/2006, 11h51

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