OVH Cloud OVH Cloud

concatenation dans table

6 réponses
Avatar
guy boily
Bonjour,
je voudrais utiliser la procédure décrite à l'adresse suivante pour
concatener
3 champs dans ma table mais je ne sais pas où et comment .

http://support.microsoft.com/default.aspx?scid=kb;fr;458019

Question : où dois-je inscrire tout ca ?... dans ma table ? mon formulaire?
et dans quelle propriété ?

Merci pour votre aide


boily_SLSJ

6 réponses

Avatar
Raymond [mvp]
Bonsoir.

On ne place pas de champs caulés et encore moins de champs concaténés dans
une table. On concatène les données lorsqu'on en a besoin, c'est-à-dire dans
une requête.
Champconcaténé: [Champ1] & [Champ2] & [Champ3]

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"guy boily" a écrit dans le message de
news:
Bonjour,
je voudrais utiliser la procédure décrite à l'adresse suivante pour
concatener
3 champs dans ma table mais je ne sais pas où et comment .

http://support.microsoft.com/default.aspx?scid=kb;fr;458019

Question : où dois-je inscrire tout ca ?... dans ma table ? mon
formulaire?
et dans quelle propriété ?

Merci pour votre aide


boily_SLSJ


Avatar
guy boily
bonjour Raymond, merci pour ta réponse,

Mais voilà , je veux utiliser ce champ concaténé pour en faire une liste
modifiable
que je place dans un formulaire pour permettre aux utilisateurs de faire une
recherche d'enregistrements et j'ai absolument besoin de ce type de champ.

Lorsque je créé une liste modifiable qui va rechercher un enregistrement
dans mon formulaire, ACCESS ne permet pas autre chose que des champs
provenant d'une table..c'est pour cette raison que j'ai besoin de ce champ
concaténé.

P.S. Je ne veux pas utiliser les différents filtres pour faire ce type de
recherche mes utilsateurs trouvent ca trop compliqué...!

d'autres solutions sonts-elles envisageables?


Bonsoir.

On ne place pas de champs caulés et encore moins de champs concaténés dans
une table. On concatène les données lorsqu'on en a besoin, c'est-à-dire dans
une requête.
Champconcaténé: [Champ1] & [Champ2] & [Champ3]

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"guy boily" a écrit dans le message de
news:
Bonjour,
je voudrais utiliser la procédure décrite à l'adresse suivante pour
concatener
3 champs dans ma table mais je ne sais pas où et comment .

http://support.microsoft.com/default.aspx?scid=kb;fr;458019

Question : où dois-je inscrire tout ca ?... dans ma table ? mon
formulaire?
et dans quelle propriété ?

Merci pour votre aide


boily_SLSJ







Avatar
Raymond [mvp]
Bonjour.

tu as 2 solutions:
1- tu crées ta liste modifiable avec l'assistant (option 3 recherche
enregistrement) sans tenir compte de ton champ concaténé, mais avec la clé
primaire (clé accès) et un champ, donc 2 colonnes dont la 1ere sera cachée
autimatiquement par access.
tu modifies le contenu (rowsource) de ta liste modifiable et à la place du
champ 2 tu mets la concaténation
Champconcaténé: [Champ2] & " " & [Champ3]
tu ajusteras la largeur de la colonne pour afficher correctement le champ
concaténé.

2- tu crées un champ texte dans ta table
tu lances une requête mise à jour de la table et tu modifies la valeur
du champ concaténé avec
[Champ2] & " " & [Champ3]
tu bases ta liste modifiable sur ce champ.
lors de chaque modification de tous les champs entrant dans le champ
concaténé tu devras concaténer ton champ et faire un Requery de ta liste.
lors de l'ouverture du formulaire, tu devras lancer la requête mise à
jour pour bien vérifier que le champ concaténé est bon.
tu vas allonger le temps d'ouverture du formulaire du temps pris par la
requête mise à jour et tu vas écrire du code pour rien.

c'est comme tu veux, les deux méthodes fonctionnent mais la 2e n'est pas
clean et ne sera jamais conseillée.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"guy boily" a écrit dans le message de
news:
bonjour Raymond, merci pour ta réponse,

Mais voilà , je veux utiliser ce champ concaténé pour en faire une liste
modifiable
que je place dans un formulaire pour permettre aux utilisateurs de faire
une
recherche d'enregistrements et j'ai absolument besoin de ce type de champ.

Lorsque je créé une liste modifiable qui va rechercher un enregistrement
dans mon formulaire, ACCESS ne permet pas autre chose que des champs
provenant d'une table..c'est pour cette raison que j'ai besoin de ce champ
concaténé.

P.S. Je ne veux pas utiliser les différents filtres pour faire ce type de
recherche mes utilsateurs trouvent ca trop compliqué...!

d'autres solutions sonts-elles envisageables?



Avatar
sam Samban
Bonjour Guy,

Pour répondre à ta question, et même si la réponse de Raymond est vraie
(comme toujours...;-))

Dans l'exemple cité sur la page de Microsoft, tu récupére ce code que tu
place dans un module que tu appele comme tu veux : modConcatene.

Ce module ne comporte qu'une fonction " concatene() " qu'il suffit comme
expliqué d'appeler à partir de ton formulaire :

- sur ton formulaire tu crée un champ indépendant NomPrenom est dans ses
propriétés dans "source contrôle" tu entre simplement "=concatene()

Bien sur il faut également que sur ton formulaire se trouve les champs
dépendants Nom et Prenom dont le source provient de ta table NOMPRENOM.

En espérant ne pas avoir trop dit de betisses ;-)
Avatar
guy boily
Bonjour à Sam et Raymond,

C'est funny de se lever le matin et d'avoir des réponses à ses questions.
la preuve que ce damné forum est le plus intéressant de toute la communauté.
Merci milles fois

Je vais au bureau en ce dimanche matin pluvieux et j'essaie les 3
solutions.Je vous reviens..

Merci encore

P.S. Sam, tu connais Raymond il est très à cheval sur les principes de
construction dans les bases de données...concaténer des champs dans une table
est, pour lui, un sacrilège... il a raison je sais ..Raymond, pardonne-nous



Bonjour.

tu as 2 solutions:
1- tu crées ta liste modifiable avec l'assistant (option 3 recherche
enregistrement) sans tenir compte de ton champ concaténé, mais avec la clé
primaire (clé accès) et un champ, donc 2 colonnes dont la 1ere sera cachée
autimatiquement par access.
tu modifies le contenu (rowsource) de ta liste modifiable et à la place du
champ 2 tu mets la concaténation
Champconcaténé: [Champ2] & " " & [Champ3]
tu ajusteras la largeur de la colonne pour afficher correctement le champ
concaténé.

2- tu crées un champ texte dans ta table
tu lances une requête mise à jour de la table et tu modifies la valeur
du champ concaténé avec
[Champ2] & " " & [Champ3]
tu bases ta liste modifiable sur ce champ.
lors de chaque modification de tous les champs entrant dans le champ
concaténé tu devras concaténer ton champ et faire un Requery de ta liste.
lors de l'ouverture du formulaire, tu devras lancer la requête mise à
jour pour bien vérifier que le champ concaténé est bon.
tu vas allonger le temps d'ouverture du formulaire du temps pris par la
requête mise à jour et tu vas écrire du code pour rien.

c'est comme tu veux, les deux méthodes fonctionnent mais la 2e n'est pas
clean et ne sera jamais conseillée.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"guy boily" a écrit dans le message de
news:
bonjour Raymond, merci pour ta réponse,

Mais voilà , je veux utiliser ce champ concaténé pour en faire une liste
modifiable
que je place dans un formulaire pour permettre aux utilisateurs de faire
une
recherche d'enregistrements et j'ai absolument besoin de ce type de champ.

Lorsque je créé une liste modifiable qui va rechercher un enregistrement
dans mon formulaire, ACCESS ne permet pas autre chose que des champs
provenant d'une table..c'est pour cette raison que j'ai besoin de ce champ
concaténé.

P.S. Je ne veux pas utiliser les différents filtres pour faire ce type de
recherche mes utilsateurs trouvent ca trop compliqué...!

d'autres solutions sonts-elles envisageables?









Avatar
Raymond [mvp]
Il n'y a pas de mal.
c'est toi qui décide. mais j'essaie de placer un peu de rigueur dans cette
construction pour arriver à convaincre qu'il ne faut pas faire certaines
choses dans une base de données. l'essentiel restant toujours le bon
fonctionnement de la base quelle que soit sa programmation.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"guy boily" a écrit dans le message de
news:
Bonjour à Sam et Raymond,

C'est funny de se lever le matin et d'avoir des réponses à ses questions.
la preuve que ce damné forum est le plus intéressant de toute la
communauté.
Merci milles fois

Je vais au bureau en ce dimanche matin pluvieux et j'essaie les 3
solutions.Je vous reviens..

Merci encore

P.S. Sam, tu connais Raymond il est très à cheval sur les principes de
construction dans les bases de données...concaténer des champs dans une
table
est, pour lui, un sacrilège... il a raison je sais ..Raymond,
pardonne-nous