Fonction iif dans une liste deroulante?

Résolu/Fermé
tchitchy Messages postés 42 Date d'inscription mercredi 28 avril 2010 Statut Membre Dernière intervention 22 avril 2022 - 28 avril 2010 à 15:28
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 - 29 avril 2010 à 13:07
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

5 réponses

Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
28 avril 2010 à 19:38
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.
0
tchitchy Messages postés 42 Date d'inscription mercredi 28 avril 2010 Statut Membre Dernière intervention 22 avril 2022 2
29 avril 2010 à 09:13
Merci de m'avoir répondu Jean_Jacques. Je vais voir ce que je peux faire.

Cordialement
0
Rhyton le boyar
29 avril 2010 à 11:30
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
0
tchitchy Messages postés 42 Date d'inscription mercredi 28 avril 2010 Statut Membre Dernière intervention 22 avril 2022 2
29 avril 2010 à 12:04
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
29 avril 2010 à 13:07
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
0