Bien le bonjour brave gens !
Je viens de passer en mode arrachage de cheveux à cause de la manipulation d'un Recordset qui me fait que des malheurs. Je m'explique !
Je récupère des informations sur une base SQL SERER Express. Ma requête se passe bien, elle retourne bien des résultats. J'avance donc tranquillement en lui apposant un simple MoveFirst, puis je rentre dans ma boucle.
Or, si l'espion me montre bien la ligne de résultat dans rs, lorsque j'avance pas à pas et que j'exécute l'instruction suivante, POUF !, le Recordset perd presque toutes ses informations. Presque oui, puisqu'en fait, seules les valeurs issus de VARCHAR dans ma table sont perdues. Les INT, elles, sont bien conservées.
Par la suite, dans la boucle, bis repetita, à l'exécution du MoveNext, l'espion me montre bien que le recordset récupère les valeurs, mais dès la ligne suivante, je perd les informations.
Si vous avez des explications je suis preneur, si vous avez besoin de plus d'informations, je suis aussi présent
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 Dim rs As ADODB.Recordset ' Récupération de la liste des fichiers à réaliser (requete, c'est aussi une fonction de mon cru) Set rs = requete("SELECT UTILISATEUR.id_user, UTILISATEUR.prenom_user, UTILISATEUR.nom_user, UTILISATEUR.email_user, LABORATOIRE.id_labo, LABORATOIRE.libelle_labo " & _ "FROM UTILISATEUR, LABORATOIRE " & _ "WHERE UTILISATEUR.id_labo=LABORATOIRE.id_labo " & _ " AND UTILISATEUR.actif=1 " & _ " AND UTILISATEUR.type=1 " & _ " AND UTILISATEUR.id_user<>2 " & _ "ORDER BY LABORATOIRE.libelle_labo") rs.MoveFirst Do msgbox(rs(1)) rs.MoveNext Loop Until rs.EOF = True![]()
Partager