[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 !
Configuration: Windows XP
Opera 9.51

12 réponses

  1. fove48 Messages postés 49 Statut Membre 30
     
    merci quand même, a plus !
    1
  2. 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
  3. 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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. fove48 Messages postés 49 Statut Membre 30
     
    d'accord merci.
    0
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Et avec des double guillemets "":"" ?
    A+
    0
  13. 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
    1. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      désolé, ce n'était qu'une piste, ev VB c'est comme ça qu'il faut faire.
      A++
      0