none
Error al utilizar un ADO Asincrónico RRS feed

  • Pregunta

  •  

    Estoy trabajando con VB6 y tablas de ACCESS 2000. Elaboré una pantalla cuyo destino final es mostrar un informe que esta hecho en CR8. Ahora bien para llegar a mostrar el informe tengo que filtrar cierta información con lo cual utilicé un recordset de ADO y una sentencia SQL que trae dicha información. Como el proceso para traer la información demora unos 2 o 3 minutos, puse un botón para detener el proceso en caso de que sea necesario. Para eso utilicé un ADO asincrónico. Acá pongo parte del código

     

    Option Explicit

     

    Dim Withevents rst as ADODB.Recordset

    Dim AbortQRY as boolean

    Private sub cmdAceptar_Click()

     

    Dim strSQL as string

    AbortQRY=False

    strSQL="Sentencia SQL"

     

    set rst=new adodb.recordset

    with rst

    .cursorlocation=adUseClient

    .open strSQL,cnConexion, , , adAsyncExecute + adAsyncFetch

    End with

     

    Do While (rst.State And adStateExecuting) = adStateExecuting Or _

    (rst.State And adStateFetching) = adStateFetching

    DoEvents

    If AbortQry Then

    rst.Cancel

    End If

    Loop

     

    End sub

     

    Private sub cmdDetener_Click()

    abortQRy=True

    end sub

     

    Bueno cnConexion es la conexión en Microsoft.Jet.OLEDB.4.0. El tema es que cuando empieza a realizar el proceso no pasaron ni 10 segundos y me aparece un cuadro de diálogo que dice:

    Visual Basic ha detectado un problema y debe cerrarse

    Y me da la opción de pulsar 2 botones: "Depurar" o "Cerrar". Al pulsar "Cerrar" automáticamente se cierra el VB.

    El VB lo tengo cargado en un equipo con WXP Profesional 2002 SP 2. Este mismo proceso lo realizo en un equipo con W98 y corre perfectamente, incluso responde al pedido de cancelación (El botón detener). ¿ Que puede estar pasando?

    • Cambiado Enrique M. Montejo sábado, 30 de abril de 2011 18:31 Pregunta relativa con el lenguaje Visual Basic clásico (De:Lenguaje VB.NET)
    lunes, 10 de septiembre de 2007 14:26