Mensaje enviado por "Ignacio Napal" <inapal@equiplus.com> el 3/05/2002
Si la consulta la ejecutaste desde un recordset, llamando al método "Cancel" se interrumpe.
Aquí va un ejemplo de una lectura en forma asíncrona de un recordset muy extenso.
("cnn" es de tipo ADODB.Connection, y ya está conectado a la DB)
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
AbortQry = False
rs.Open "SELECT * FROM Lectores", cnn, adOpenKeyset, adLockReadOnly, _
adAsyncExecute + adAsyncFetch
Do While (rs.State And adStateExecuting) = adStateExecuting Or _
(rs.State And adStateFetching) = adStateFetching
DoEvents
If AbortQry Then
rs.Cancel
End If
Loop
La variable "AbortQry" es global y de tipo boolean, y se setea a "True" en algún botón "Cancelar" del form.
----- Original Message -----
From: "Antonio Laborda" <u0899alb@hotmail.com>
To: <visualbasic-esp@yahoogroups.com>
Sent: Friday, May 03, 2002 4:13 PM
Subject: (VB-ESP) ¿Cancelar consulta asíncrona?
> ¿Cómo cancelar una consulta asíncrona (ADO + SQL7) muy pesada y que tarda un
> tiempo elevado?
>
> Gracias y un saludo.