{Access}

Résolu
Co52 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   -  
blux Messages postés 5032 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Dans un état Access 2007 peut-on dans une cellule intégrer un saut à la ligne.

Par exemple, j'ai un champs adresse et un champs ville. Je veux les mettre tous les deux dans le même champs mais sur deux lignes séparées.

Merci pour votre aide
Configuration: Windows Vista
Firefox 3.5.5

8 réponses

  1. blux Messages postés 5032 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    c'est sûrement possible... avec un peu de code dans l'évènement 'au formatage'.

    Connais-tu le VBA ?
    0
  2. Co52 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   3
     
    salut,

    non ou du moins tres peu, j'arrive juste à bidouiller les noms et autres quand on me donne quelque chose de déjà programmé
    0
  3. blux Messages postés 5032 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Je te propose un truc, tu essayes et on en recause.

    pré-requis :
    - une table qui contient (entre autres) les champs : adresse, ville
    - un état basé sur cette table

    actions sur l'état, en mode création :

    - éditer l'état, dans sa zone 'détail', rajouter un contrôle de type 'zone de texte' (assez grand), le nommer 'ad_total', par exemple
    - toujours dans l'état, afficher les propriétés de la zone détail (par double-clic sur la barre 'détail') et aller sur l'onglet 'évènement', et sur la ligne 'au formatage', sélectionner '[Procédure événementielle]'. Doit s'ouvrir une fenêtre de code. Il suffit d'y taper la ligne suivante :

    ad_total = adresse & vbCrLf & ville

    et c'est tout.

    explications :

    on va rechercher dans l'état les valeurs des zones adresse et ville et on va les concaténer en ajoutant un saut de ligne (variable VBA nommée vbCrLf), puis mettre le résultat dans la zone ad_total créée précédemment.

    Bien entendu, les noms de variable sont à remplacer avec les tiens...
    0
  4. Co52 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   3
     
    Juste pour donner quelques infos complémentaires. j'ai donc 2 champs [Adresse] et [Ville].
    Je ne veux créer qu'un champ avec les fonctions VraiFaux suivantes imbriquées

    VraiFaux ( [Adresse] est null ; VraiFaux ( [Ville] est null ; ""; [Ville] ) ; VraiFaux ( [Ville] est null ; [Adresse] ; [Adresse] &" " & [Ville] ) )

    et en fait je veux remplacer ce qui est en gras par un retour à la ligne

    Merci du coup de pouce
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. blux Messages postés 5032 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Un truc comme ça (ou dans un ordre différent, j'ai pas testé) :

    If isnull(adresse) then
       if isnull(ville) then
          ad_total = ""
       else
          ad_total = ville
       end if
    else
       if isnull(ville) then
          ad_total = adresse
       else
          ad_total = adresse & vbcrlf & ville
    end if
    
    0
  7. Co52 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   3
     
    j'essaye et je te tiens au courant. En tout cas merci d'y avoir passé un peu de temps
    0
  8. Co52 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   3
     
    Impeccable, ça marche, il manque juste un dernier END IF à la fin.
    Je ne connais pas les codes visual basic mais j'ai fait un peu de programmation en Basic il a plus de 25 ans et j'ai quelque restes.
    Il faudrait que je prenne un peu de temps pour apprendre le VBA, c'est juste une question de facilité et de fainéantise parce que j'ai appris à utiliser Access avec utilisation des macros mais je me rends bien compte qu'on peut en faire un peu plus avec VBA.

    Merci beaucoup
    0
  9. blux Messages postés 5032 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Fallait bien que j'oublie quelque chose, aussi :-)
    0