Error de recordcount en VB6 sobre windows XP

Hugo
19 de Junio del 2009
Hola:

El motivo de mi mensaje es para reportar un error que
ocurre en una aplicación que hice en Visual Basic VI y la
ejecuto bajo windows XP. Una de las cosas que hace esta
aplicación es conectarse a determinadas tablas DBF de otro
sistema hecho en Visual Fox, seleccionar algunos campos y
llenar un recordset que posteriormente recorre para
actualizar otra base de datos.
Pero el problema ocurre en algunas tablas y no en todas. Y
a la vez ese error sólo se da en las máquinas que tienen
instalado windows XP.
Después de debbugear la aplicación pude deducir que cuando
hago un "SELECT codigo, nombre FROM Clientes" da error de
recordcount y si en cambio hago "SELECT nombre FROM
Clientes" el recordcount no falla. Evidentemente el
problema se genera con el campo "Codigo" de la tabla
Clientes. Pero por ejemplo existe otra tabla llamada
Proveedores y la importación la hace correctamente, y esa
tabla también tiene el campo "Codigo".
Ya revise, reindexe y limpie los registros "Basura" de la
tabla de fox pero el problema persiste.

El error en sí es:

Error -2147467259 "El proveedor de datos u otro servicio
devolvió un estado E_FAIL"

Desde ya, muchas gracias

Alvaro Vega
19 de Junio del 2009
Hola, yo tuve el mismo problema, trabajo con acces y VB6
Mi problema era que estaba grabando algunos campos en Null, y el otro que tenia una variable de mas 256 caracteres que intentaba grabar en un campo de texto, ambas me causaban el error, despues de corregido esto, 0 problemas.
Salu2

Makarren
19 de Junio del 2009
A mi sólo se me ha producido al actualizar mi servidor de SQL Server 2000 de Service Pack 3 a Service Pack 4. En SP3 no me produce errores.

Manisero
19 de Junio del 2009
Me acabo de encontrar con el mismo problema que tú. Lo hemos solucionado reconstruyendo la cabecera del DBF: Abre el fichero con MSExcel o MSAcces y haz una exportación con formato DBASE III con el mismo nombre. Espero que te sirva.

William
19 de Junio del 2009
Hola Hugo, yo tengo un problema similar con un aplicativo que desarollo en vb6 y conecto a una base de datos de vfp, cuando le da la gana, me hace una consulta, cuando no, arroja el error de estado E_FAIL, lo probe en una maquina con Windows 98 y no fallaba, en mi maquina con XP, a veces falla, formatee mi maquina, le instale Windows 98 y el problema continuo, no creo que sea exclusivo del sistema operativo, pero algo de influencia debe tener, si encuentra una solución, le ruego me colabore.

Muchas gracias

William Isaza

ruben
19 de Junio del 2009
hugo: prueba lo siguiente....
"select codigo.clientes, nombre.clientes from clientes"
porque el error se puede dar que mas alla de que el from te indique la tabla de donde seleccionar hay otra tabla que tiene mismo nombre de campos...prueba y espero te sirva...ruben