none
Object Collection: Couldn't find item indicated by text RRS feed

  • Pregunta

  • Hola a todos, tengo un problema con una aplicación en VB6 cuando lo ejecuto en Windows xp me funciona a la perfección cuando lo ejecuto en la maquina cliente que tiene Windows 7 me despliega este error "Error: 40041 - Object Collection: Couldn't find item indicated by text" alguien me puede ayudar con este problema?

    de antemano Muchisimas gracias por toda la Información brindada.

    viernes, 12 de diciembre de 2014 15:37

Todas las respuestas

  • No creo que le podamos ayudar sin que nos muestre las líneas de código que no le funcionan o que nos de algo más de información.

    El detalle es que VB6 es un lenguaje hecho para crear y consumir objetos COM.  Hay muchísimos objetos COM que podrían a estas alturas estar fallando con VB6 o 5.

    A menos que alguien en el foro haya experimentado este error exactamente, difícilmente encontrará ayuda sin darnos pistas adicionales, que idealmente serían líneas de código donde la aplicación falla.


    Jose R. MCP
    Code Samples

    viernes, 12 de diciembre de 2014 15:41
  • Que tal! fíjate que mi código es demasiado extenso pero te mando la función donde creo que me lanza el error antes mencionado.

    Function ExisteCuenta(LocCheque As Long, LocCuenta As String) As Boolean
    Dim sSql As String
    Dim rdoTabla As rdoResultset
        sSql = "select isnull(count(0), 0)"
        sSql = sSql & "  from tmp_cheque"
        sSql = sSql & " where id_proc = " & LocCheque
        sSql = sSql & "   and cod_cta_cb = '" & LocCuenta & "'"
        Set rdoTabla = ObjLoginRemota.CnObj.OpenResultset(sSql, rdOpenForwardOnly)
        ExisteCuenta = False
        If Not rdoTabla.EOF Then
            If rdoTabla(0) > 0 Then
                ExisteCuenta = True
            End If
        End If
        Call DestroyRdoSet(ObjLoginRemota, rdoTabla)
    End Function

    viernes, 12 de diciembre de 2014 20:38
  • ya lo ubique aqui es donde me muestra este error:

    For i = 1 To cSetFormato(2): Printer.Print: Next i
            'MsgBox "ESTOY ADENTRO DEL FOR"
            val_debe = 0
            val_haber = 0
            
            val_debe_D = 0
            val_haber_D = 0
            
            sSql = "select * from tmp_cheque where id_proc = " & m_Cheque
            sSql = sSql & " order by tmp_cheque.cod_deb_cred desc"
            'Set rs = m_Login.CnObj.OpenResultset(sSql, rdOpenDynamic)
            Set rs = ObjLoginRemota.CnObj.OpenResultset(sSql, rdOpenDynamic)
            If Not rs.EOF Then
                Do While Not rs.EOF
                    sDebe = ""
                    sHaber = ""
                    If rs(6) = "D" Then
                        sDebe = Str(rs(8))
                        val_debe = val_debe + rs(8)
                        val_debe_D = val_debe_D + rs(7)
                    ElseIf rs(6) = "C" Then
                        sHaber = Str(rs(8))
                        val_haber = val_haber + rs(8)
                        val_haber_D = val_haber_D + rs(7)
                    End If
                     Printer.Print Tab(cSetFormato(3)); rs(2); Tab(cSetFormato(4)); Trim$(Mid(rs(3), 1, 36)); Tab(cSetFormato(5)); fxFillStringNum(14, sDebe); Tab(cSetFormato(6)); fxFillStringNum(14, sHaber) 
                    rs.MoveNext
                    iLinea = iLinea + 1
                Loop
            End If 

    viernes, 12 de diciembre de 2014 21:06
  • Raul, indicanos exactamente en que linea está produciéndose el error. Veo que también tienes funciones donde posiblemente se esté produciendo el error.
    viernes, 12 de diciembre de 2014 21:25
  • Raul, veo que utilizas RDO que es la tecnología de conexión remota para VB6 y anteriores. Hay que ver si tiene soporte su uso en windows 7.
    viernes, 12 de diciembre de 2014 21:38
  • Que tal! ahorita me fije que es exactamente aqui ==> For i = 1 To cSetFormato(2): Printer.Print: Next i que es la funcion donde manda a imprimir. y aqui es donde el proceso me manda el mensaje cSetFormato(2).

    viernes, 12 de diciembre de 2014 21:39