Bonjour,

Dans le cadre d'une recherche de patient sur des bases de données d'un hôpital, j'émets des requêtes avec des ADODB.Recordset.

A ce niveau là pas de problème, maintenant je souhaiterais pouvoir utiliser les résultats lorsqu'il y a plusieurs possibilités comme par exemple avec une recherche par nom.

Pour cela je souhaiterais que tous les résultats s'affichent dans une zone de liste et lorsqu'un double clic est fait sur une ligne alors les champs qui correspondent se remplissent.

Il m'a été conseillé de stocker le Recordset dans une table et d'en supprimer le contenu après. La liste afficherait quant à elle le contenu de la table. J'ai regardé ce que je pouvais trouver sur internet, mais il s'agit surtout de DAO.

J'ai une fonction qui convertis le flux XML arrivant d'un webservice en Recordset utilisable. Il est dans une variable requete.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Public Function RecordsetFromXMLString(sXML As String) As ADODB.Recordset
    'Cette fonction convertit le flux XML renvoyé par le webservice
    ' en une structure de type recordset pour exploitation dans la suite du code
    Dim oStream As New ADODB.Stream
    'Set oStream = New ADODB.Stream
 
    oStream.Open
    oStream.WriteText sXML   'Give the XML string to the ADO Stream
    oStream.Position = 0    'Set the stream position to the start
 
    Dim oRecordset As ADODB.Recordset
    Set oRecordset = New ADODB.Recordset
 
    oRecordset.Open oStream    'Open a recordset from the stream
 
    oStream.Close
    Set oStream = Nothing
    Set RecordsetFromXMLString = oRecordset  'Return the recordset
 
    Set oRecordset = Nothing
 
End Function
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Set requete = RecordsetFromXMLString(appelWS(texte_requete))
La variable texte_requete dépend du critère de recherche.

Avez vous des pistes ?