Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/08/2004, 01:14
Avatar de fjmasero
fjmasero
 
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 21 años, 5 meses
Puntos: 1
Pregunta Error ADODB.Recordset error '800a0cb3'

Wenas:

Estoy desarrollando para un portal con páginas asp (vbscript). El gestor de bases de datos es SQL Server 2000.

Sin embargo, los accesos a la base de datos los hago mediante una dll realizada en VB 6.0.

En una clase de la dll tengo el siguiente código:
Código:
....
lsSQL = "SELECT TOP " & piNumReg * piNumPag & " * 
from Empleo"

'Definicion de la consulta
Dim loCmd As ADODB.Command
Set loCmd = New ADODB.Command
Set loCmd.ActiveConnection = Conexion
loCmd.CommandText = lsSQL
loCmd.CommandType = ADODB.adCmdText

'Obtenemos el resultado de la consulta almacenandolo 
en un RecordSet
Dim loRs As ADODB.Recordset
Set loRs = New ADODB.Recordset
loRs.Open loCmd, , ADODB.adOpenStatic, 
ADODB.adLockOptimistic

'Nos posicionamos en el primer registro de la pagina
loRs.PageSize = piNumReg
If loRs.RecordCount <> 0 Then loRs.AbsolutePage = 
piNumPag
....
Las vars piNumReg y piNumPag son parametros recibidos en
el método en cuestión.

Pues si en vez de hacer el select del inicio, hago Select DISTINCT TOP ..., y el resto =, me da el siguiente
error:

ADODB.Recordset error '800a0cb3'
El Recordset actual no admite marcadores. Puede ser una
limitación del proveedor o del tipo de cursor
seleccionado.

Y la única diferencia es el distinct.

He probado este Select Distinct Top ... desde el Analizados de Consultas y funciona bien.

¿xq puede ser?.

Salu2 y gracias
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender