{Access}

Résolu
Co52 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   -  
blux Messages postés 27128 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

8 réponses

blux Messages postés 27128 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
Salut,

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

Connais-tu le VBA ?
0
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
blux Messages postés 27128 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
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
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

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

Posez votre question
blux Messages postés 27128 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
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
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
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
blux Messages postés 27128 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
Fallait bien que j'oublie quelque chose, aussi :-)
0