Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1993 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  recherche dans un recordset [Résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

recherche dans un recordset [Résolu]

n°1868445
e2prom
Posté le 01-04-2009 à 19:07:44  profilanswer
 

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
mood
Publicité
Posté le 01-04-2009 à 19:07:44  profilanswer
 

n°1868658
SuppotDeSa​Tante
Aka dje69r
Posté le 02-04-2009 à 12:01:45  profilanswer
 

Bonjour
 
NomDeTonRecordset("champs" & i)
 

Code :
  1. Sub toto()
  2. Set ObjRS = CurrentDb.OpenRecordset("Table1" )
  3.     For x = 1 To 8
  4.         ValChamp = ObjRS ("champs" & x)
  5.     Next x
  6. End Sub


 
Cordialement


Message édité par SuppotDeSaTante le 02-04-2009 à 12:03:39

---------------
Soyez malin, louez entre voisins !
n°1868681
e2prom
Posté le 02-04-2009 à 13:54:55  profilanswer
 

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
..........
..........

n°1868685
SuppotDeSa​Tante
Aka dje69r
Posté le 02-04-2009 à 14:06:15  profilanswer
 

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)


---------------
Soyez malin, louez entre voisins !
n°1868964
e2prom
Posté le 02-04-2009 à 18:43:01  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  recherche dans un recordset [Résolu]

 

Sujets relatifs
Javascript : pb avec des Frames (résolu)problème de recordset ou de querydef
[Résolu] Cacher, afficher une ligne de tableau <TR> en Javascriptrecherche multi champs ( x champs) + nom entête de champ
[Résolu]Compiler pour obtenir un .obj (C/Delphi)Comment modiifier ce code pour avoir une recherche multiple?
recherche quelqu un pour me refaire mon site[Resolu]Installer HTMLDOC sous centos
Plus de sujets relatifs à : recherche dans un recordset [Résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR