Fusion de 2 recordset
Bonjour le forum ,
Je recupere dans un recordset des données provenant d'une base de donnée. mon probleme est lui suivant c'est que les données sont sur deux serveurs et j'aimerais charger une listbox d'un userform.
Avec le code suivant j'arrive bien à récuperer les données d'un recordset, si NS = 1 je recupere bien les données du Dlist1 et si NS = 2 je recupere bien les données du serveur 2 mais impossible de les combiner
Private Sub UserForm_Initialize()
Dim oRS As Recordset
'NbrS = 2
For NS = 1 'To 2
ConnectionDB
Requete = "SELECT Distinct app.nom_link "
Requete = Requete & " from thermo.parametres as app"
'exécute la requête, résultat dans un RecordSet
Set oRS = oConnect.Execute(Requete)
If NS = 1 Then Dlist1 = oRS.GetRows
If NS = 2 Then Dlist2 = oRS.GetRows
Next NS
ListBox1.List = Application.Transpose(Dlist1)
oRS.Close
Set oRS = Nothing
en sub
Mais toutes mes tentatives pour charger la listbox1 avec les recordset sont de cuisant échec.
ListBox1.List = Application.Transpose(Dlist1) & Application.Transpose(Dlist2)
Ou encore
ListBox1.List = Application.Transpose(Dlist1)
ListBox1.List = ListBox1.List & Application.Transpose(Dlist2
etc... Si vous avez des idées je suis prenneur
Bonjour edlede,
Perso, je ne comprends pas la démarche
Que veux-tu faire exactement ?
@+
Mon but est de créer une liste avec tous les nom "nom_link" des deux serveur.
Car les données que j'utilise sont réparties sur les deux serveurs. Actuellement j'utilise un Fichier excel par nom_link c'est à dire 3, mais certain de mes collegues en utilise 4 à 5.
Bref, avoir une liste complete me permettrait de generer 1 fichier unique, et ca me servira également pour les mise à jour etc...
J'espère être plus claire
Oui je vois... mais je fais la même requete mais sur deux bases différentes. et ca m'embete de devoir ecrire les données sur un onglet avant de les charger dans ma listbox. Je suis certain que l'on doit pouvoir charger la listebaox en passant par un redim preserve mais j'y arrive pas non plus, ou avec une un dictionnaire mais idem, c'est l'echec.
Merci qd même pour la piste ca pourra me servire sans doute plus tard
Re,
Quel est le code de "ConnectionDB"
Il nous manque des informations : Dlist1 et Dlist2 sont-il définis et si oui, où ?
A+
Public oConnect As ADODB.Connection
Public NS As Integer
Public NbrS As Integer
Public Sub ConnectionDB()
Dim S As String
'Dim NS As Integer
Set oConnect = New ADODB.Connection
If NS = 1 Then S = "UID=readonly;PWD=OS.34!ro;DRIVER={MySQL ODBC 5.3 UNICODE Driver};SERVER=10.181.208.71;PORT=33006;DATABASE=thermo;"
If NS = 2 Then S = "UID=readonly;PWD=OS.34!ro;DRIVER={MySQL ODBC 5.3 UNICODE Driver};SERVER=10.181.207.190;PORT=33006;DATABASE=thermo;"
'Ouverture de la base de données
oConnect.Open S
End Sub
Les Dlist ne sont pas défini
Le fichier parametre est l'extraction totale de ma table du server 1
V10....j'essaye de combiner les deux listes nom-link
Si tu as d'autre question je reste dispo
Et j'essaye de prevoir mon code pour l'arrivé d'un 3eme serveur...