Un problème avec mes recordset

cs_grandax Messages postés 2 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 2 avril 2009 - 2 avril 2009 à 12:11
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 2 avril 2009 à 13:32
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

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
2 avril 2009 à 12:41
tu as du code a nous soumettre, pour qu'on l'évalue... ?
0
cs_grandax Messages postés 2 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 2 avril 2009
2 avril 2009 à 13:05
    [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]
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
2 avril 2009 à 13:32
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.
0
Rejoignez-nous