Concaténation dans access

Résolu/Fermé
lebnan01 Messages postés 4 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 17 août 2007 - 16 juil. 2007 à 16:24
lebnan01 Messages postés 4 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 17 août 2007 - 16 juil. 2007 à 16:53
Bonjour,

J'aimerais savoir s'il est possible de créer un champ dans une requête access qui serait une concaténation de 6 champs, mais où seul les champs non nul serait inclus dans la concaténation.

Merci
A voir également:

3 réponses

blux Messages postés 25999 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 23 avril 2024 3 289
16 juil. 2007 à 16:34
Salut,

il y a la fonction IIf combinée à la fonction IsNull qui peut t'aider à résoudre le problème...
SELECT IIf(ISNULL(a),"",a) & IIf(ISNULL(b),"",b) & IIf(ISNULL(c),"",c) & IIf(ISNULL(d),"",d) & IIf(ISNULL(e),"",e) & IIf(ISNULL(f),"",f) FROM Table_1;
Ca irait comme ça ?
0
lebnan01 Messages postés 4 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 17 août 2007
16 juil. 2007 à 16:39
Merci pour la suggestion.

Par contre, comment j'insère ce code dans ma requête??

Merci
0
blux Messages postés 25999 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 23 avril 2024 3 289 > lebnan01 Messages postés 4 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 17 août 2007
16 juil. 2007 à 16:43
Tu passes en mode sql (bouton SQL en haut à gauche) et tu copies en modifiant...
0
Salut,

Normalement le symbole de cocaténation & fonctionne sur autant de champs que tu veux et si ton champ est vide il ne met pas de caractères espaces ( à moins d'être lié sur une base externe en ODBC auqel cas tu devrais créer ta requête via un module en VB, qui te permettra de le faire en créant ta fonction s'il le faut).
0
lebnan01 Messages postés 4 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 17 août 2007
16 juil. 2007 à 16:53
Merci à vous deux
0