Hola a Todos, Felíz y prospero Año 2008
Estoy trabajando con varios recordset, estoy reciente en la empresa donde trabajo, después de hacer varias correcciones al script que se me entregó, me encuentro con que los métodos MoveFirst, MovePrevious y Move, no "funcionan" o no son soportados por ADO de acuerdo a los resultados obtenidos con :
If Not RsBuscarCuenta.Supports(adMovePrevious) Then
MsgBox "No soporta MoveFirst, MovePrevious, Move o GetRows"
End If
Por tal motivo, no puedo retroceder hacia los registros anteriores al actual. No se genera ningún error, sintácticamente todo está correcto. El problema grave es que al retroceder sólo se muestra un sólo registros y éste siempre es el mismo que se visualiza al intentar retroceder. Siempre se puede avanzar hasta el final del recordset. Se utilizan cajas de texto para mostrar la información y un objeto de imagen que visualiza una imagen con formato .tif. Toda la información es el resultado obtenido mediante una consulta de un Stored Procedure.
El siguiente es el código donde está, seguramente, el problema:
10010 If Len(TxtCuenta10.Text) < 10 Then
10015 TxtCuenta10.Text = String(10 - Len(TxtCuenta10.Text), "0") & TxtCuenta10.Text
10020 End If
comando = "exec st_c_FINDFIRMAS '00000000000000000000','" & TxtCuenta10.Text & "'"
10030 If RsBuscarCuenta.State > 0 Then
10035 RsBuscarCuenta.Close
Set RsBuscarCuenta = Nothing
10040 End If
10045 RsBuscarCuenta.Open comando, Cn, adOpenStatic
If Not RsBuscarCuenta.Supports(adMovePrevious) Then
MsgBox "No soporta MoveFirst, MovePrevious, Move o GetRows"
End If
El siguiente es el resultado de la ventana Inmediato en Visual Basic:
?RsBuscarCuenta.Supports(adMovePrevious)
Falso
El siguiente es como se abre la conexión:
comando = "Provider=SQLOLEDB;Data Source=" & "'" & Serverdb & "'" & " ;Initial Catalog=" & "'" & Bd & "'" & " ;Uid=" & Userid & " ;Pwd=" & Pwd & ";"
Cn.CommandTimeout = 360
Cn.Open comando
La pregunta: ¿Sábe alguien cuáles son las causas por las que los métodos MoveFirst, MovePrevious y Move no pueden ser soportados por el objeto ADO en uso?
Gracias de antemano por la ayuda que me puedan prestar....