Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

VB6 + MySQL = "El proveedor devolvió estado E_FAIL"

Estas en el tema de VB6 + MySQL = "El proveedor devolvió estado E_FAIL" en el foro de Visual Basic clásico en Foros del Web. Hola muy buenas a tod@s Estoy programando en VB6 usando BBDD Access Verán quería comentarles un problema que estoy teniendo y no consigo dar con ...
  #1 (permalink)  
Antiguo 05/09/2011, 02:40
Avatar de elphaba  
Fecha de Ingreso: abril-2008
Ubicación: Ávila
Mensajes: 43
Antigüedad: 16 años
Puntos: 0
VB6 + MySQL = "El proveedor devolvió estado E_FAIL"

Hola muy buenas a tod@s

Estoy programando en VB6 usando BBDD Access
Verán quería comentarles un problema que estoy teniendo y no consigo dar con la solución.
El caso es el siguiente:
1.Realizo una select a una tabla de una BBDD de Access
Código:
Dim strSelect As String = "SELECT NIF, Domingo, Lunes, Martes, Miercoles, Jueves, Viernes, Sabado, " & _
                            " Traslado, HInicio, HFinal, " & _
                            "ROUND (ABS(((cdbl(HFinal-HInicio+Traslado)-int(HFinal-HInicio+Traslado))*24)),2) AS HrsTrabajadas, " & _
                            "ABS(CInt(Lunes+Martes+Miercoles+Jueves+Viernes+Sabado+Domingo)) AS DiasTrabajados, " & _
                            " (HrsTrabajadas * DiasTrabajados) as HorasTotales, SemanaHorario, Desde, Hasta " & _
                            " FROM Trabajan " & _
                            "WHERE  ((((Hasta)>=# " + FInicio + " # and Desde <=# " + FInicio + " #)Or ((Hasta) Is Null   and (Desde)<=# " + FInicio + " #)) or (Desde) between # " + FInicio + " # and # " + FFin + " #)" & _
                            " ORDER BY NIF, Hasta, Desde"
Donde FInicio y FFin son dos fechas que introduce el usuario desde la aplicación, con el formato dd/MM/yyyy

2.hago la conexión (la cual funciona, comprobado). El recorset (rsConsulta) que uso es de tipo ADODB.Recordset()
Código:
cmComando = New ADODB.Command()
        With cmComando
            .ActiveConnection = conConexion
            .CommandText = strSelect
            .CommandType = ADODB.CommandTypeEnum.adCmdText
        End With

        With rsConsulta
            .CursorType = ADODB.CursorTypeEnum.adOpenStatic
            .LockType = ADODB.LockTypeEnum.adLockReadOnly
        End With

        rsConsulta.Source = cmComando
3. Intento recorrer el recordset
Código:
If rsConsulta.EOF And rsConsulta.BOF Then
            'La respuesta es vacía
            ReDim sValores(0, rsConsulta.Fields.Count - 1)
        Else
            rsConsulta.MoveLast()
            rsConsulta.MoveFirst()  <-- Es en este punto es donde me aparece el siguiente mensaje de error
             ......

4. Error que me aparece
Código:
No se controló COMException
El proveedor de datos u otro servicio devolvió un estado E_FAIL
5. Lo raro de todo esto es que, cuando el usuario introduce fechas hasta febrero de 2011
es decir
FInicio: 01/01/2010 (por ejemplo)
FFin: 30/02/2011
El programa funciona a la perfección y me saca el listado que está programado
Pero el problema viene cuando el usuario introduce fechas comprendidas entre Marzo/2011 en adelante.
He revisado las fechas de la BBDD y es correcto, al menos no he visto ningun dato raro en los campos fecha; también he realizado
la consulta desde access y nada, no sé muy bien por donde tirar para poder resolver el error.

Muchas gracoas a todos.
Saludos!!
  #2 (permalink)  
Antiguo 05/09/2011, 06:50
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 5 meses
Puntos: 19
Respuesta: VB6 + MySQL = "El proveedor devolvió estado E_FAIL"

Que tiene que ver MySQL con esto si estas usando access
  #3 (permalink)  
Antiguo 05/09/2011, 08:44
Avatar de elphaba  
Fecha de Ingreso: abril-2008
Ubicación: Ávila
Mensajes: 43
Antigüedad: 16 años
Puntos: 0
Respuesta: VB6 + MySQL = "El proveedor devolvió estado E_FAIL"

Cita:
Iniciado por culd Ver Mensaje
Que tiene que ver MySQL con esto si estas usando access
Perdón se me ha colado, pues estoy con varias cosas ...
  #4 (permalink)  
Antiguo 07/09/2011, 10:05
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 14 años, 7 meses
Puntos: 47
Respuesta: VB6 + MySQL = "El proveedor devolvió estado E_FAIL"

Chequeaste el formato del campo fecha? (no los datos), debe estar en formato de fecha corta
  #5 (permalink)  
Antiguo 08/09/2011, 09:18
Avatar de elphaba  
Fecha de Ingreso: abril-2008
Ubicación: Ávila
Mensajes: 43
Antigüedad: 16 años
Puntos: 0
Respuesta: VB6 + MySQL = "El proveedor devolvió estado E_FAIL"

Bueno gracias a todos
ya está solucionado, nada que ver con la fecha o su formato.
Algún listo había borrado un dato predefinido en la BBDD, con el que yo trataba y claro saltaba el error, tendré que controlar eso.

Gracias

Etiquetas: access, estado, mysql, proveedor, tabla, vb, vb6
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:30.