Excel - RECORSET CON VALOR -1

 
Vista:
sin imagen de perfil
Val: 27
Ha aumentado 1 puesto en Excel (en relación al último mes)
Gráfica de Excel

RECORSET CON VALOR -1

Publicado por Miguel (57 intervenciones) el 21/06/2024 18:35:13
Hola a todos, agradeceré me puedan dar un ayuda al respecto.
Desde excel leo una consultas hechas en access y me funciona muy bien en varias consultas pero hay una que el resultado solo trae un registro y el valor del RecordCount es -1
Este valor -1 es porque asigno el valor recordcount a una variable y me arroja ese valor y después me da error en siguiente proceso.

Por que o cuando da error -1 ?

En algunas veces tambien cuando el resultado de la consulta es cero registros, también da el error

Adjunto parte de código y donde da el error.

Ojla puedan ayudarme si estoy haciendo bien mi consulta

Gracias de antemano


Mitabla= "[Mi consuta a ejecutar]"
Miquery = "SELECT * FROM " & strTabla

MiBDatos = "mibdatos.accdb"
Set Conn = New ADODB.Connection
MiConexion = Application.ThisWorkbook.Path & Application.PathSeparator & MiBDatos

With Conn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.Open MiConexion
End With

Set Rs = New ADODB.Recordset
Rs.CursorLocation = adUseServer
Rs.Open Source:=Miquery, ActiveConnection:=Conn

pa = Rs.RecordCount


If pa = 0 Then
Range("A4").Select
ActiveCell.FormulaR1C1 = "No hay registros para mostrar"
Exit Sub
End If

If pa = 1 Then
' Continua, solo tiene un registro <<<===== ACA DEBERIA ENTRAR PORQUE TRAE 1 REGISTRO
Else
' ENTRA ACA POR EL ELSE PORQUE EL VALOR DE pa = -1
Range("A4").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select <<<======= AQUÍ SE DETIENE CON EL ERROR
pa = ActiveCell.Row - 1
End If
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

RECORSET CON VALOR -1

Publicado por Antoni Masana (2499 intervenciones) el 21/06/2024 21:27:14
Cuando el valor de PA sea mayor a 1 ¿por donde sale?

1
2
3
4
5
6
7
8
9
10
11
Sub ----
    If pa = 1 Then
        ' Continua, solo tiene un registro <<<===== ACA DEBERIA ENTRAR PORQUE TRAE 1 REGISTRO
    Else
        ' ENTRA ACA POR EL ELSE PORQUE EL VALOR DE pa = -1  o  pa >= 2 
        Range("A4").Select
        Selection.End(xlDown).Select
        ActiveCell.Offset(1, 0).Select <<<======= AQUÍ SE DETIENE CON EL ERROR
        pa = ActiveCell.Row - 1
    End If
End Sub

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar