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
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


0