Problema al abrir un recordset ADO

jopeza1
22 de Abril del 2005
Antetodo gracias por leer esto. A ver, mi problema es que tengo el Visual Basic 6.0 y he creado una aplicación que maneja recordsets ADO, los cuales me dan bastantes problemas que poco a poco he ido resolviendo menos uno. Resulta que al iniciar la aplicación, creo una conexión a una base de datos remota del tipo IBM/DB2 soble linux, hasta aquí todo correcto (la conexión va bien), después abro un recordset con el método OPEN sobre esa conexión y me lo abre (propiedad STATE a 1) pero no lee nada (propiedad RECORDCOUNT a 0). Si abro el recordset utilizando el método execute de la cnoexión y devolviendo la select a ese recordset todavía va peor (propiedad RECORDCOUNT A -1). Estoy desesperado, he probado todos los tipos de bloqueo,cursores, etc... y el que mejor funciona es adOpenKeySet con bloqueo optimista. Me ocurre lo mismo con ADO 2.5 y 2.7. La tabla que intento abrir solo tiene un registro y esta es la instrucción que estoy utilizando:
ModuloBD.rcEntorno.Open consulta, ModuloBD.cnaux, adOpenKeyset, adLockBatchOptimistic, adCmdText

Y esta es la puse probando con el execute, pero que ya os digo que va peor:
Set ModuloBD.rcEntorno = ModuloBD.cnaux.Execute("SELECT * FROM ALMACEN.TBLENTORNO", , adCmdText)

Si alguien me puede ayudar, lo agradecería eternamente. Gracias anticipadas.

leo
22 de Abril del 2005
cuando usas mas de una tabla en una consulta SQl tambien debes, al seleccionar los campos a mostrar, especificar a que tabla pertence EJ SELECT Tabla1.Campo1,Tabla1.Campo2,Tabla2.Campo1 FROM Tabla1,Tabla2 WHERE Tabla1.Campo1 = 'DatoBusca'

leo
22 de Abril del 2005
Cuando haces consultas no es necesario bloquerar, si es necesario cuando modificas

alexis
22 de Abril del 2005
antes de hacer la consulta, coloca la propiedad cursorlocation a aduseclient, eso me funciono a mi. Suerte

angeles
22 de Abril del 2005
Prueba a poner sólo el nombre de la tabla en la parte del from:
"SELECT * FROM TBLENTORNO"