none
No me funciona este Script RRS feed

  • Pregunta

  • Buen día a todos.

    Estoy diseñando un archivo txt para convertirlo a Script. El archivo debería ser sencillo. Sólo debe abrir un Recordset que está en una base de datos Access 2003 y luego arrojar en un Msgbox la cantidad de registros de dicho Rs. Pero el problema es que el Msgbox me arroja un "-1" en la cantidad. No se que me falta. En Visual Basic, esto se corregía modificando la propiedad de la conexión "CursorLocation=AdUseClient".... pero acá no se que esté pasando. El código que uso en el Script es este:

    -----------------------------------------------------

    Dim Cnn
    Dim Rs

    Set Cnn = CreateObject("ADODB.Connection")
    Set Rs = CreateObject("ADODB.Recordset")

    Cnn.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=MS Access Database;Initial Catalog=C:\Duplicados.mdb"
    Rs.open "RecordsetX",Cnn
    MsgBox Rs.RecordCount

    Rs.Close
    cnn.Close
    Set Cnn = Nothing
    Set Rs = Nothing

    --------------------------------------------

    Gracias por su ayuda.

    jueves, 10 de junio de 2010 16:35

Respuestas

  • Hola!

    eso es normal, recordcount en realidad no sabe cuantos registros tiene el recordset hasta que ha llegado al final, prueba así

    rs.movelast:rs.movefirst

    msgbox rs.recordcount


    Saludos a todos desde Huelva http://www.mvp-access.es/emilio/
    • Marcado como respuesta Ismael Borche miércoles, 6 de abril de 2011 15:06
    viernes, 11 de junio de 2010 16:24
  • hola, Carlos !

    (hasta donde se) al instanciar un objeto por medio de un "CreateObject(..." no puedes usar argumentos "por nombre", ya que es una referencia "late binding" puesto que no se ha establecido una referencia al modelo de objetos (o libreria), prueba modificando la forma que ya comprobaste que si funciona

    de esto: CursorLocation=AdUseClient

    a esto: CursorLocation=3 'adUseClient

    saludos,

    hector.

    • Marcado como respuesta Ismael Borche miércoles, 6 de abril de 2011 15:06
    sábado, 12 de junio de 2010 5:24

Todas las respuestas

  • Hola!

    eso es normal, recordcount en realidad no sabe cuantos registros tiene el recordset hasta que ha llegado al final, prueba así

    rs.movelast:rs.movefirst

    msgbox rs.recordcount


    Saludos a todos desde Huelva http://www.mvp-access.es/emilio/
    • Marcado como respuesta Ismael Borche miércoles, 6 de abril de 2011 15:06
    viernes, 11 de junio de 2010 16:24
  • hola, Carlos !

    (hasta donde se) al instanciar un objeto por medio de un "CreateObject(..." no puedes usar argumentos "por nombre", ya que es una referencia "late binding" puesto que no se ha establecido una referencia al modelo de objetos (o libreria), prueba modificando la forma que ya comprobaste que si funciona

    de esto: CursorLocation=AdUseClient

    a esto: CursorLocation=3 'adUseClient

    saludos,

    hector.

    • Marcado como respuesta Ismael Borche miércoles, 6 de abril de 2011 15:06
    sábado, 12 de junio de 2010 5:24