Obtener el resultado de una consulta SQL en VBA

Juliaz -  
f894009 Mensajes publicados 17417 Fecha de registro   Estado Miembro Última intervención   -
Hola,
Llevo dando vueltas durante una buena hora.
Quiero recuperar el resultado de una consulta de Access y guardarlo en una variable que me servirá más tarde.

He usado el siguiente código:

Function recherche() Dim rst As DAO.Recordset Dim sSQL As String ' Apertura de la base de datos Dim v As Variant sSQL = "Select * From table2 where [np]='vo jacques'" 'open Set rst = CurrentDb.OpenRecordset(sSQL, dbOpenForwardOnly, dbReadOnly) 'tratamiento v = rst![np] MsgBox v 'close rst.Close End Function


Este código funciona bien pero solo recupera el primer elemento de la consulta.
¿Cómo podría hacer para recuperar todos los resultados de la consulta?

Gracias de antemano,

3 respuestas

  1. yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   Ambassadeur 1 588
     
    buenas noches, por ejemplo:
    'tratamiento Do Until rst.EOF v = rst![np] MsgBox v rst.MoveNext Loop
    1
  2. Juliaz
     
    Hola,

    Gracias yg_be, funciona muy bien.

    Gracias de nuevo
    0
  3. f894009 Mensajes publicados 17417 Fecha de registro   Estado Miembro Última intervención   1 717
     
    Hola,
    Encuentra aquí:
    https://www.generation-nt.com/reponses/transferer-un-recordset-dans-un-tableau-en-vba-entraide-418091.html

    MichDenis
    El 09/03/2005 a las 16:54 #2053631
    Bonjour Thierry,

    Dim Tblo as variant

    Tblo = Rst.getrows

    Et pour limiter le nombre de lignes copieées dans le tableau

    Copie seulement les 25 premiers enregistrements
    tblo = rst.getrows(25)

    Salutations!

    A vous d'adapter votre code
    Par contre si vous ne changez rien a votre fonction, votre tableau ne vous servira pas "plus tard"
    0