Concaténer des cellules sur access

Matthieu -  
lucas06150 Messages postés 156 Statut Membre -
Bonjour,

Je suis dans la panade sur access.
J'ai un tableau de trois colonnes : Service (texte), N° service rendu (numérique), Description (mémo).
à 1 service correspond plusieurs numéro de service rendu et à 1 numéro de service rendu correspond plusieurs description.

en gros ça donne :

Service N°service rendu Description

AIDE 4050 Le client n'arrive pas à...
AIDE 4050 Le technicien dit que...
AIDE 4050 Pb résolu
HOT-LINE 1224 Perte de données...
HOT-LINE 1224 reboot des serveurs, pb résolu.
AIDE 4250 xxxxxx
AIDE 4250 yyyyy
HOT-LINE 1225 zzzzz
... ... ...

Le but est d'obtenir une table sous la forme:

Service N°service rendu Description

AIDE 4050 Le client n'arrive pas à... le technicien dit que... Pb résolu
HOT-LINE 1224 Perte de données... reboot des serveurs, pb résolu.
AIDE 4250 xxxxx yyyyyy
HOT-LINE 1225 zzzzz

Voilà je suis complètement paumés. Je n'y connait rien en sql ou en vba donc si quelqu'un peut me donner un coup de main ce serait très sympa.
J'espère que j'ai été assez clair pour vous exposer le problème.
Merci d'avance pour vos réponses.

Matthieu

5 réponses

lucas06150 Messages postés 156 Statut Membre 11
 
Salut,

Ta table est construite dans ta base ?

Montre moi la requête sql qui t'afiche le résultat
0
Matthieu
 
Oui en fait ma table est dans ma base mais c'est un import de données excel. Le problème quand je veux faire des requête dessus c'est que ma colonne description qui est un champ mémo à des pertes.

Quelque soit la requête que je fais, les cellule du champs description qui contiennent beaucoup de caractères sont pour la plupart coupées à la fin.

De plus les 3 colonnes dont je parle ne sont qu'une sélection d'une table de 14 colonnes et j'ai environ 10900 enregistrements.

En fait la base excel d'origine est générée automatiquement par un autre service que celui dont je dépends.

Merci pour le coup de main

matthieu
0
lucas06150 Messages postés 156 Statut Membre 11
 
Ma solution.

Tu récupère en vba les données grâce à ta requête que tu stocke dans une DataTable (virtuel):

Dim sRequete As String = "" 
Dim dDataTable as DataTable 
Dim oDataRow as DataRow 

sRequete = " SELECT * FROM ... WHERE Service ='Critere1' AND N° service rendu = 'Critere2' " 
dDataTable = MyDB.GetDT(sRequete) 


Puis tu boucle sur les enregistrements
Et tu concatène dans une chaîne le résultat


Dim sResultat As String = "Critere1 Critere2" 
For Each oDataRow in dDataTable.Rows 
    
sResultat += NzStr(oDataRow!Description) 

Next 



En revanche je connais ce code en Vb.Net je ne sais pas si c'est la même syntaxe en vba

PS : tiens moi au courant ! et n'hésite pas si tu as des quesitons !

:)
0
Matthieu
 
Bon a priori ça ne fonctionne pas. est ce que je dois compléter avec quelque chose dans le string du début?

Dans tous les cas merci beaucoup.
0

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

Posez votre question
lucas06150 Messages postés 156 Statut Membre 11
 
Par exemple pour AIDE 4050 ça donnerais ça:

Requete = " SELECT * FROM TA_TABLE WHERE Service ='AIDE' AND N° service rendu = 1045 "

Je me suis trompé sur les quotes au niveau du numéro du service. Il n'y en a pas puisque c'est un Integer
0