Click to See Complete Forum and Search --> : ADO and Asynchronous Execution


Perry Neal
February 10th, 2000, 03:08 PM
I've been trying to use the adExecuteAsynch option on one of my ADO commands and VB doesn't seem to recognize the constant. What's up? How do I get my recordset to keep on returning while continue on in the code?

Johnny101
February 10th, 2000, 03:55 PM
Well, i dont think you can use your recordset until it done being populated. But here is some code that I use that seems to work for me...


Dim rs as ADODB.Recordset
Dim cn as ADODB.Connection
Dim sql as string

set cn = new ADODB.Connection

cn.Open sConnectionString

sql = "SELECT * FROM YourTable"

set rs = new ADODB.Recordset

set rs = cn.Execute(sql, , adAsyncExecute)

While cn.State = adStateExecuting
DoEvents
Wend

MsgBox "Done"




Give that a whirl and see what happens. Oh BTW, one wierd little thing with executing asyncronously, when opening a recordset, the above while loop will work, but when executing an action query (INSERT, UPDATE) use this:

While cn.State = adStateExecuting + adStateOpen
DoEvents
Wend




I don't know why, but that seems to do it. This particular property isn't using bits, so I can't use the bitwise comparison method and this is the only way i got it to work.

Good luck,
John

John Pirkey
MCSD
www.ShallowWaterSystems.com