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   -
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
A voir également:

5 réponses

Jean_Jacques Messages postés 1040 Date d'inscription   Statut Membre Dernière intervention   112
 
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   Statut Membre Dernière intervention   2
 
Merci de m'avoir répondu Jean_Jacques. Je vais voir ce que je peux faire.

Cordialement
0
Rhyton le boyar
 
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   Statut Membre Dernière intervention   2
 
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   Statut Membre Dernière intervention   112
 
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