Fonction iif dans une liste deroulante?
Résolu
tchitchy
Messages postés
42
Date d'inscription
Statut
Membre
Dernière intervention
-
Jean_Jacques Messages postés 1040 Date d'inscription Statut Membre Dernière intervention -
Jean_Jacques Messages postés 1040 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Actuellement en train de bosser sur une base de données access 2007 je me retrouve confronté à un problème.
J'ai une table patient qui contient beaucoup de champs et donc de données mais en particulier le champs nom_assurance. Dans ce champs là, j'ai mis une liste déroulante afin de choisir à quelle assurance appartient le patient ( vert, jaune, rouge ) et dans le cas où il n'a pas d'assurance il y a le choix "prive".
J'ai deux tables supplémentaire T_exam et T_exam_prive. Chacune ayant un champs membre_exam.
Sur la table patient, j'ai un champs membre_exam dans lequel j'ai mis une liste déroulante. Mais pour cette liste j'aimerais mettre une fonction iff dans le contenu. En gros si le patient est "prive" (du champs nom_assurance de la table patient) alors le contenu de la liste deroulante sera pris dans la table T_exam_prive. Si le patient possede une assurance (donc vert, jaune ou rouge) alors la liste déroulante aura le contenu de la table T_exam.
J'ai essayé plein de syntaxes différentes mais access ne veut pas.
Pour info voici ce que j'ai mis dans la case contenu de la liste déroulante
select iif(T_patient.nom_assurance="prive",T_exam_prive.membre_exam, T_exam.membre_exam)
Merci de votre aide
Actuellement en train de bosser sur une base de données access 2007 je me retrouve confronté à un problème.
J'ai une table patient qui contient beaucoup de champs et donc de données mais en particulier le champs nom_assurance. Dans ce champs là, j'ai mis une liste déroulante afin de choisir à quelle assurance appartient le patient ( vert, jaune, rouge ) et dans le cas où il n'a pas d'assurance il y a le choix "prive".
J'ai deux tables supplémentaire T_exam et T_exam_prive. Chacune ayant un champs membre_exam.
Sur la table patient, j'ai un champs membre_exam dans lequel j'ai mis une liste déroulante. Mais pour cette liste j'aimerais mettre une fonction iff dans le contenu. En gros si le patient est "prive" (du champs nom_assurance de la table patient) alors le contenu de la liste deroulante sera pris dans la table T_exam_prive. Si le patient possede une assurance (donc vert, jaune ou rouge) alors la liste déroulante aura le contenu de la table T_exam.
J'ai essayé plein de syntaxes différentes mais access ne veut pas.
Pour info voici ce que j'ai mis dans la case contenu de la liste déroulante
select iif(T_patient.nom_assurance="prive",T_exam_prive.membre_exam, T_exam.membre_exam)
Merci de votre aide
A voir également:
- Fonction iif dans une liste deroulante?
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Fonction si et - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Liste code ascii - Guide
5 réponses
Bonsoir tchitchy,
Pour traiter le sujet, je verrais plutôt des conditions ....
If condition Then
instruction1
Else
If condition2 Then
instruction2
End If
End If
Cordialement
La science ne fait que trouver ce qui existe depuis toujours.
REEVES Hubert.
Pour traiter le sujet, je verrais plutôt des conditions ....
If condition Then
instruction1
Else
If condition2 Then
instruction2
End If
End If
Cordialement
La science ne fait que trouver ce qui existe depuis toujours.
REEVES Hubert.
Perso, je modifierai mes données.
Je ferais une seule table à 2 ou trois colonne dans laquelle je mettrais
Privé Membre exam1
Privé Membre exam2
Privé Membre exam3
Privé Membre exam4
Privé Membre exam5
Public Membre exam1
Public Membre exam2
Public Membre exam3
Public Membre exam4
Public Membre exam5
Ensuite je fais une liste déroulante à partir d'une requete avec les deux colonne ou pour le champs PrivéPublic je mat la condition où [table]![quelle assurance]
mais c'est peut être compliqué
Rhyton
Je ferais une seule table à 2 ou trois colonne dans laquelle je mettrais
Privé Membre exam1
Privé Membre exam2
Privé Membre exam3
Privé Membre exam4
Privé Membre exam5
Public Membre exam1
Public Membre exam2
Public Membre exam3
Public Membre exam4
Public Membre exam5
Ensuite je fais une liste déroulante à partir d'une requete avec les deux colonne ou pour le champs PrivéPublic je mat la condition où [table]![quelle assurance]
mais c'est peut être compliqué
Rhyton
J'y avais pensé mais d'autres critères entrent en jeu c'est le hic. C'est tendu mais j'ai trouvé une réponse. J'ai tout modifié j'ai juste mis une seule table avec tout (comme tu dis Rhyton) et après j'arrive à mes fins avec deux requêtes création de table + trois requêtes et bien évidement une macro qui lie tout ce beau capharnaüm :)
En tout cas je vous remercie pour la rapidité et la qualité de vos réponses. Encore merci.
Tchitchy
En tout cas je vous remercie pour la rapidité et la qualité de vos réponses. Encore merci.
Tchitchy
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Intéressants ces échanges de points de vue. Pour le fun, j'en remets une petite couche ...
Pour enrichir le débat, j'avance la solution [Case is].
NB : [Dossier.Text] est le texte sélectionné dans la liste déroulante.
- Le texte sélectionné provoque l'affichage du formulaire [stDocName] corespondant ....
Dim stDocName As String
Dim stLinkCriteria As String
Select Case Dossier.Text
Case Is = "ERIDAN"
stDocName = "Suivi ERIDAN Gestion"
Case Is = "MAINTENANCE"
stDocName = "Suivi MAINTENANCE Gestion"
Case Is = "TIBCO"
stDocName = "Suivi TIBCO Gestion"
Case Is = "UNION"
stDocName = "Union des tables ERIDAN MAINTENANCE TIBCO"
Case Is = "SYNTHESE ERIDAN MENSUELLE"
stDocName = "SYNTHESE ERIDAN MENSUELLE"
Case Is = "SYNTHESE MAINTENANCE MENSUELLE"
stDocName = "SYNTHESE MAINTENANCE MENSUELLE"
Case Is = "UNION"
stDocName = "Union des tables ERIDAN MAINTENANCE TIBCO"
End Select
DoCmd.OpenForm stDocName, , , stLinkCriteria
Bonne journée
Cordialement
Intéressants ces échanges de points de vue. Pour le fun, j'en remets une petite couche ...
Pour enrichir le débat, j'avance la solution [Case is].
NB : [Dossier.Text] est le texte sélectionné dans la liste déroulante.
- Le texte sélectionné provoque l'affichage du formulaire [stDocName] corespondant ....
Dim stDocName As String
Dim stLinkCriteria As String
Select Case Dossier.Text
Case Is = "ERIDAN"
stDocName = "Suivi ERIDAN Gestion"
Case Is = "MAINTENANCE"
stDocName = "Suivi MAINTENANCE Gestion"
Case Is = "TIBCO"
stDocName = "Suivi TIBCO Gestion"
Case Is = "UNION"
stDocName = "Union des tables ERIDAN MAINTENANCE TIBCO"
Case Is = "SYNTHESE ERIDAN MENSUELLE"
stDocName = "SYNTHESE ERIDAN MENSUELLE"
Case Is = "SYNTHESE MAINTENANCE MENSUELLE"
stDocName = "SYNTHESE MAINTENANCE MENSUELLE"
Case Is = "UNION"
stDocName = "Union des tables ERIDAN MAINTENANCE TIBCO"
End Select
DoCmd.OpenForm stDocName, , , stLinkCriteria
Bonne journée
Cordialement