Concatener deux lignes dans un meme ligne

mouss -  
Gord21 Messages postés 928 Statut Membre -
Bonjour,
je suis noviste ici, peut etre que le sujet à été aborder, j'ai bon cherche sur le net, mais sans safisfaction. voila j'ai deux table l un nomer dispensaire (id_disp, denomination, ville,region) et l'autre table nomee medecin(id_med,nom,prenom,tele,adresse,id_disp). je doit faire un formulaire qui envoie toutes les medecins rattacher à une dispensaire. dans un premier temps, j'ai fait une requette avec regroupement :

SELECT Dispensaire.denomination AS dispensaire, Medecin.[nom]+" "+[prenom] AS medecin
FROM Dispensaire RIGHT JOIN Medecin ON Dispensaire.id_dispensaire = Medecin.id_dispensaire
GROUP BY Dispensaire.denomination, Medecin.[nom]+" "+[prenom];

dispensaire | medecin
1001 Soins - Centre Médical La Bricarde |Abadie Jean-Pierre
1001 Soins - Centre Médical La Bricarde |Abbou Roger
Abeille Jérôme |Achard Catherine
ARAIMC |Alessandrini Eric
ARAIMC | Almaleh Michel

ce que je veux c'est de concatener qu'on il s'agit des meme enregistrement, c'est a dire avoire le tablaeau suivant:
dispensaire | medecin
1001 Soins - Centre Médical La Bricarde |Abadie Jean-Pierre, Abbou Roger
Abeille Jérôme |Achard Catherine
ARAIMC |Alessandrini Eric, Almaleh Michel
j'ai essayer un code vba, mais j'avoue que je suis tres debutant en vba. si quelqu'un pourra m'aider à aficher cette requete de la sorte merci.
A voir également:

2 réponses

keuloud
 
Quel SGBD utilises tu?
Selon celui que tu utilises tu peux peut être "coder" ta fonction directement en SQL, j'pense que quelques recherches sur ton SGBD et la possibilité de faire une procédure t'aideront.

Pour le VB(A) il faut creuser un peu, sur le net c'est l'un des langages les plus documentés.
0
mouss
 
merci keuloud pour votre reponse j'utilise ACCESS 2007, j'ai bon creuser un peut mais sans resultat, le probleme c'est que je doit aficher un formulaire a l aide d une requete : voila la requete que j'a nom2 R1:

SELECT Dispensaire.denomination, [nom]+[prenom] AS MEDECIN
FROM Dispensaire RIGHT JOIN Medecin ON Dispensaire.id_dispensaire=Medecin.id_dispensaire;

maintenant je doit concatener tt ca :

denomination |MEDECIN
1001 Soins - Centre Médical La Bricarde |AbadieJean-Pierre
1001 Soins - Centre Médical La Bricarde |AbbouRoger
Abeille Jérôme |AchardCatherine
ARAIMC |AlessandriniEric
ARAIMC |AlmalehMichel

j'ai creer un code vba que j'ai trouver sur le net :
Option Compare Database
Public Function RecupParticipant(denomination As Long) As String
Dim res As DAO.Recordset
Dim SQL As String
'Selectionne les participant du projet
SQL = "SELECT MEDECIN FROM R1 WHERE denomination=" & denomination
Set res = CurrentDb.OpenRecordset(SQL)
'Concatene les différents enregistrement
While Not res.EOF
RecupParticipant = RecupParticipant & res.Fields(0).Value & " "
res.MoveNext
Wend
'Enleve le dernier espace
RecupParticipant = Left(RecupParticipant, Len(RecupParticipant) - 1)
'libere la mémoire
Set res = Nothing
End Function

mais rien qui sort
le code que j ai crée travail sur une requete
0
Gord21 Messages postés 928 Statut Membre 289
 
Bonsoir,
Puisque tu parles de VBA, je supposes que tu utilises Excel d'où ce code :

Sub Concatener()
'
' Déclaration des variables
'--------------------------
Dim rang_en_cours As Long
'
' Initialisation de la variable rang_en_cours
'--------------------------------------------
rang_en_cours = 2
'
' Tant qu'on n'a pas atteint la fin de la feuille
'------------------------------------------------
While rang_en_cours <= ActiveSheet.UsedRange.Rows.Count
If Range("A" & rang_en_cours - 1).Value = Range("A" & rang_en_cours).Value Then
' Si les valeurs en A(n) et A(n-1) sont les mêmes on concatène
'-------------------------------------------------------------
Range("B" & rang_en_cours - 1).Value = Range("B" & rang_en_cours - 1).Value & ", " & Range("B" & rang_en_cours).Value
Rows(rang_en_cours).Delete Shift:=xlUp
Else
' Sinon, on passe à la ligne suivante
rang_en_cours = rang_en_cours + 1
End If
Wend

End Sub
0
mouss
 
merci gord21 pour ta réponse mais le travail que je fait c est sur Access 2007, car je doit afficher un formulaire cordialement
0
Gord21 Messages postés 928 Statut Membre 289 > mouss
 
Désolé, je n'utilise que très peu Access.
Bonne continuation
0