Un problème avec mes recordset

Messages postés
2
Date d'inscription
lundi 28 janvier 2008
Statut
Membre
Dernière intervention
2 avril 2009
-
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
-
Salut à tous... c'est mon premier post sur ce forum et comme on dit "il y a toujours une première"
:)
enfin soit, je viens ici en dernier recours, je suis développeur et n'ai jamais créé de script vba vu que d'habitude, je travaille en vb.net sur  visual studio seulement voilà... je suis amené à travailler sur excell et Access dû a mon boulot...
je crée une macro en vba qui doit rappatrier des données d'access sur une feuille excell... jusque là, je me suis débrouillé pour le faire... j'ai juste un problème, j'arrive à me connecter sur la db, à lancer une requête sql avec un recordset  mais le record set ne se rempli pas. Pourtant la connection se fait car qd je fait une bête requête select *, dans mon record set je retrouve bien tous les champs avec leur nom(qui n'est définit nulle part dans le code vba). Donc voici ma question, comment se fait-il que j'arrive à rappatrier les champs mais pas les records?

si quelqu'un sait m'éclairer, je l'écoute avec une oreille attentive.

c'est probablement une bétise

3 réponses

Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
tu as du code a nous soumettre, pour qu'on l'évalue... ?
Messages postés
2
Date d'inscription
lundi 28 janvier 2008
Statut
Membre
Dernière intervention
2 avril 2009

    [Code]
    Set cnx = New ADODB.Connection
    cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin; Password=;Data Source=V:\madb.mdb;"
    
    
    cnx.Open
   
    Dim WWIDRequest As String
   
    WWIDRequest = "SELECT * FROM EmpData; "
        
    Dim rec As ADODB.Recordset
    Set rec = New Recordset
    rec.Open WWIDRequest, cnx, adModeUnknown
    
    'ici, mon recordset ne compte aucun record mais les champs existent
    If rec.RecordCount >= 0 Then
        rec.MoveFirst
        While Not rec.EOF
            With rec
                toto = !champ1
                MsgBox toto & !champ2
            End With
            rec.MoveNext
        Wend
    Else
       
    End If
   


   
    rec.Close
    Set rec = Nothing
[\Code]
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
enlève cette partie :
If rec.RecordCount >= 0 Then
rec.MoveFirst

le recordcount ne se renseigne pas toujours, depend du mode d'ouverture du recordset.