Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/01/2008, 09:30
Jose_pe
 
Fecha de Ingreso: enero-2008
Mensajes: 5
Antigüedad: 17 años, 2 meses
Puntos: 0
Sonrisa Métodos MoveFirst, MovePrevious, Move no soportados

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