recherche dans un recordset [Résolu] - VB/VBA/VBS - Programmation
Marsh Posté le 02-04-2009 à 12:01:45
Bonjour
NomDeTonRecordset("champs" & i)
Code :
|
Cordialement
Marsh Posté le 02-04-2009 à 13:54:55
Merci pour ta réponse, mais finalement j'ai intégré ceci
..............
...............
Do While Not rs.EOF = True
Sheets("promo" ).Cells(lig, 1) = UCase(rs!nom)
Sheets("promo" ).Cells(lig, 2) = rs!prenom
Sheets("promo" ).Cells(lig, 3) = rs!grade
Sheets("promo" ).Cells(lig, 4) = rs!datequalification
For dp = 1 To rs.Fields.Count
If IsNull(rs.Fields(dp)) Then Exit For
Next dp
Sheets("promo" ).Cells(lig, 5) = rs.Fields(dp - 1).Value
lig = lig + 1
rs.MoveNext
Loop
..........
..........
Marsh Posté le 02-04-2009 à 14:06:15
En fait ton rs.Fields(dp) c'est la meme chose que rs("dp" )
Sauf qu'avec la seconde methode tu peux construire le nom du champ, comme par exemple : rs("dp" & i)
Marsh Posté le 02-04-2009 à 18:43:01
OUi c'est bien la reconstruction du nom du champs qui me posait problême.
J'avais une erreur en mettant rs!("champs" & i) .Par contre avec rs!fields(i) je ne sais pas lequel est retourné, en espérant que l'ordre des champs du recorset et le même que celui de la requête.
C'est pour ça que je voulais boucler sur 8 champs et non sur tous avec fields.count
Marsh Posté le 01-04-2009 à 19:07:44
Bonjour à tous,
Voila je manipule des données d'une base acces avec adodb et j'ai un petit souci avec un recordset.
Dedans il y a différents champs que je copie dans une feuille et je voudrais en récuperer un de particulier, mais je ne sais pas lequel c'est.
J'ai donc champs1, champs2, champs3 ..................champs8 et qui peuvent être vides à partir du deuxième.
Je voudrais récupérer le champs avant le vide par exemple si champs5="" je récupère champs4.
J'avais pensé à une boucle du style
FOR i = 1 TO 8
IF champs & i = "" then EXIT FOR
NEXT i
Mais la ça coince au niveau syntaxe pour le nom du champs dans le recordset
Si quelqu'un a une idée
Merci
Message édité par e2prom le 02-04-2009 à 13:57:06