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 :

Fonction iif depuis formulaire [AC-2013]


Sujet :

IHM

  1. #1
    Candidat au Club
    Homme Profil pro
    Industrie
    Inscrit en
    Mars 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Industrie

    Informations forums :
    Inscription : Mars 2018
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Fonction iif depuis formulaire
    Bonjour à tous,

    Après plusieurs echecs et recherches, je me tourne vers la communauté.

    Je souhaite afficher une MsgBox conditionnel 'FOURNISSEUR BLOQUE' après sélection d'un fournisseur dans une liste déroulante d'un formulaire 'EntCommande' dont le champ case à cocher 'Blocage Fournisseur' est 'Oui' au sein de ma table 'Fournisseurs'

    J'imagine que la fonction IIF est nécessaire mais je n'arrive pas écrire la ligne de code.

    Comptant sur votre aide

    Bien amicalement,

  2. #2
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Si l'opération d'affichage ne dépend que du choix d'une valeur sur la liste déroulante Il faut écrire un truc de ce genre sur l'événement sur changement de la liste déroulante.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If nom_liste_déroulante = "" then 
    Me.Nom_zone_texte.Property.visible = False 
    Else 
    Me.Nom_zone_texte.Property.visible = True 
    End If
    Tu auras donc à adapter nom_liste_déroulante et Nom_zone_texte à ton cas.

    Cordialement
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

  3. #3
    Candidat au Club
    Homme Profil pro
    Industrie
    Inscrit en
    Mars 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Industrie

    Informations forums :
    Inscription : Mars 2018
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bonjour Bertiny,

    Hélas, votre proposition ne repond pas à mon besoin exprimé.

    Pour l'instant, je triche en utilisant un filtre au chargement de la liste déroulante qui ne fait apparaître les fournisseurs 'cochés'

    Mais, cette duperie m'apporte plus de questions de mes collègues a savoir si le fournisseur qui n'apparaît pas dans la liste déroulante est bloqué ou supprimé.

    Donc, il faut absolument une réponse en phase avec ma question.

    Merci pour le temps que vous avez consacré à me répondre.

    Bien à vous,

  4. #4
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Bonsoir
    Désolé je ne vous ai pas bien lu. Pour le faire il faut déjà qu'au niveau du formulaire tu aies la case à cocher avec son état (coché ou décoché)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If me.[blockage fournisseurs].value then 
    Msgbox("bloqué")
    End if
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Un truc que j'ai utilisé dans une de mes listes déroulantes avec peu de valeurs est d'afficher l'info de statut après les textes.

    Cela donne un truc du genre :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select MaTable.Clef, MaTable.Description & iif(not MaTable.EstACtif, " (#Inactif#)", ""), MaTable.EstACtif
    from MaTable
    order by MaTable.Description

    Ma liste est définie avec 3 colonnes de largeur 0; 10; 0.

    Donc mon utilisateur voit

    Tata (#Inactif#)
    Titi
    Toto (#Inactif#)

    La 3ième colonne (indice 2) peut servir à mettre du code pour afficher un message d'alerte du genre : "Est inactif, ne pas sélectionner" ou à simplement refuser le choix.

    Évidement cela ne marche bien que si tu as peu d'incatifs.

    Si tu en as beaucoup, alors il faut les mettre en fin de liste pour ne pas à avoir à passer à travers chaque fois qu'on fait un choix.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Candidat au Club
    Homme Profil pro
    Industrie
    Inscrit en
    Mars 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Industrie

    Informations forums :
    Inscription : Mars 2018
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bonjour Marot,

    Merci pour ta proposition qui pourrait fonctionner.

    J'ai donc dans le champ combobox ajouter la visibilité de deux colonnes supplémentaires (BLOCAGE et MOTIF);

    Maintenant, j'essaye d'utiliser la fonction 'Valide Si' à partir de de la feuille de propriétés mais je bute sur l'écriture de la condition; j'ai essayé column(3)="Oui" et donc Message si erreur : Fournisseur bloqué ! mais j'obtiens un message d'erreur

    Comment devrait-on écrire cette condition dans 'Valide Si' ?

    Bien à toi,

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Je ne suis pas sur que les colonnes soit accessible à cet endroit.
    Et je ne me sert jamais de cette fonctionnalité.
    De plus les colonnes sont numérotés en commençant à 0 donc la 3ième colonne a le numéro 2.
    La syntaxe est peut-être

    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [NomTaListe].Column(2)=true
    Personnement j'utilise les événements Après MAJ ou/et Avant MAJ et des procédures VBA pour faire mes contrôles de données.
    Cela m'offre beaucoup plus de souplesse.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  8. #8
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut,
    Ne serait-il pas plus simple de créer un évènement sur DoubleClick() pour la liste déroulante ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Modifiable0_DblClick(Cancel As Integer)
    DoCmd.OpenForm "FormulaireFournisseur", , , "idFournisseur = Forms!EntCommande!Modifiable0"
    End Sub
    Faire en sorte de visualiser dans la liste déroulante la colonne Blocage fournisseur et si l'on veut connaitre les raisons du blocage un double-clic sur la valeur de la liste déroulante.
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  9. #9
    Candidat au Club
    Homme Profil pro
    Industrie
    Inscrit en
    Mars 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Industrie

    Informations forums :
    Inscription : Mars 2018
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Merci marot
    Bonjour Marot,

    J'ai donc renseigné la deuxième ligne de code dans le champ 'Valide Si' et cela fonctionne parfaitement bien; le message si erreur renseigné apparaît bien également

    En fait, j'avais renseigné la ligne de code proposée avec = "Non" entre guillemets mais il fallait les ôter

    Merci pour cette aide, et merci également à tous les autres contributeurs !

    Je pense que je reviendrai sur ce forum bientôt

    Bien à toi,

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

Discussions similaires

  1. [AC-2003] Activer fonction Call depuis un autre formulaire
    Par lololebricoleur dans le forum Access
    Réponses: 7
    Dernier message: 08/02/2011, 12h29
  2. Redirection en fonction d'un formulaire
    Par kmayoyota dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 11/03/2005, 11h14
  3. [VB.NET] Difficulté de construction... fonction IIF
    Par Pleymo dans le forum Windows Forms
    Réponses: 4
    Dernier message: 09/02/2005, 21h28
  4. INSERT depuis formulaire
    Par bozolozo dans le forum Access
    Réponses: 5
    Dernier message: 02/12/2004, 14h50
  5. Fonction IIF
    Par ParisMath dans le forum SQL
    Réponses: 2
    Dernier message: 16/01/2004, 22h18

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