[Access] la fonction 'si' ou un équivalent

fove48 Messages postés 49 Statut Membre -  
fove48 Messages postés 49 Statut Membre -
Bonjour,

Je ne suis pas très doué en Access mais je suis sure que mon problème a une solution très simple à trouver !

Voila

J'ai une base de donnée consacrée aux coupures de presse, dans une table j'ai les champs suivants :

- Articles
- Nom de l'article
- Auteur

Sauf que pour certains enregistrements, - le nom de l'auteur de l'article n'est pas disponible -

Maintenant, j'ai créer un état et dans une zone de texte j'ai mis le contrôle suivant :

=[Nom de l'article] & "par " & [Auteur] & "."

Le problème qui se pose est que pour certains enregistrements, ceux pour lesquels l'auteur n'est pas spécifié, j'ai quelque-chose comme :

Trou de la sécu par. (Trou de la sécu c'est le nom de de l'article)

Je souhaite donc que se "par" n'apparaisse pas quand le champ "auteur" est vide

au-fait, je veux faire quelque-chose du genre :

=[Nom de l'article]

si (Auteur != NULL)
{

& "par" & [Auteur]
}

& "."

sauf que je n'arrive pas à matérialiser cette notion de condition (si if iif) s'il-vous plaid helpp !
A voir également:

12 réponses

fove48 Messages postés 49 Statut Membre 30
 
merci quand même, a plus !
1
triwix Messages postés 306 Statut Membre 22
 
Ca peut ressembler à ca:

=VraiFaux(EstNull([Auteur] );[Nom de l'article] ; [Nom de l'article] & "par " & [Auteur] & "." )

Soit si [Auteur] est nul : [Nom de l'article] sinon: [Nom de l'article] & "par " & [Auteur] & "."

à adapter suivant ton cas

Bon week end
0
fove48 Messages postés 49 Statut Membre 30
 
J'ai trouver depuis, l'astuce mais merci quand même

quoique pour être franc, je voulais éviter une redondance

c à dire que j'aurais souhaiter que sa commence par =[Nom de l'article] et que se ne soit qu'après que vienne ma condition genre

=[Nom de l'article] & (VraiFaux (EstNull([Auteur] );"." ; "par " & [Auteur] & "." ) )

N'est il pas possible de mettre la condition au milieu ?
0
triwix Messages postés 306 Statut Membre 22
 
Oui pas de soucis, n'oubliez pas de mettre un espace apès =[Nom de l'article] pour ne pas qu'il soit collé au reste dans votre résultat
0

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

Posez votre question
fove48 Messages postés 49 Statut Membre 30
 
d'accord merci.
0
fove48 Messages postés 49 Statut Membre 30
 
Bonjours,

Je reviens je voudrais juste savoir s'il n y a pas de faute de syntaxe dans le code suivant :

= ( VraiFaux ( EstNull([Auteur]) , , [Auteur] ) ) & ( VraiFaux ( EstNull([Pérsonage]) , , ", d'aprés le pérsonnage " & [Pérsonage] ) ) & ( VraiFaux ( EstNull([Oeuvre]) , , " dans " & [Oeuvre] ) )

En fait, j'ai un doute pour ce qui est entre les deux virgules, est-ce que sa peut rester vide ?

Merci et à bientôt
0
triwix Messages postés 306 Statut Membre 22
 
VraiFaux ( EstNull([Auteur]) ;""; [Auteur] ) , il faut mettre rien: "" ça veut dire est-ce que [Auteur] est null? si oui j'affiche rien (soit "") si non = [Auteur] a une valeur alors j'affiche [Auteur]
0
fove48 Messages postés 49 Statut Membre 30
 
Bonjour triwix, j'ai essayer sa aussi mais sa n'avais pas marcher malheureusement, je me demande si Access n'est pas limité à un nombre de caractère par formule et qu'au de la, je dois passer à SQL server ?
0
fove48 Messages postés 49 Statut Membre 30
 
Rebonjour,

j'ai mis, mot pour mot le code suivant

=VraiFaux(EstNull([Auteur]),"",[Auteur])

et il considère la source controle non valide !! Qu'est-ce que sa veux dire ? En mode état j'ai le fameux #erreure
0
fove48 Messages postés 49 Statut Membre 30
 
Sa y est, j'ai trouver la bonne expression :

=VraiFaux([Pérsonage]," D'aprés le pérsonnage " & [Pérsonage],"") & VraiFaux([Oeuvre]," dans " & [Oeuvre],"") & VraiFaux( [Auteur] ,VraiFaux( [Oeuvre] , " par " & [Auteur], [Auteur] ),"") & "."

Encore que certains cas, ne sont pas traités, je vais peaufiner.

Par contre, comment afficher le symbole suivant : " dans le texte, pasque lorsque je l'écrit dans mon expression il se confond avec les outils de syntaxe. Comment faire pour faire comprendre à l'ordit que je veux que se symbole apparaisse en tant que texte ?

Je sais que sous certains langages de programmation, il suffit de le faire précéder d'un anti-slash "\" mais la sa ne marche pas.
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
Et avec des double guillemets "":"" ?
A+
0
fove48 Messages postés 49 Statut Membre 30
 
ben, du moment que je fais un deux doubles-guillemets par exemple "" blabla "", il considère le premier double guillemet comme une chêne vide et il s'attend a se qu'après vienne un & or il tombe sur blabla, âpres, si toute fois il ne déclare pas qu'il y a une erreur jusque la, il vois en le second double-guillemet une autre chêne vide ...
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
désolé, ce n'était qu'une piste, ev VB c'est comme ça qu'il faut faire.
A++
0