- Local time
- Yesterday, 19:07
- Joined
- Feb 28, 2001
- Messages
- 29,015
Both Jet and external engines run in this 'semi-asynchronous' manner, where they start returning records and the VBA code may continue as soon as the first is retrieved, instead of waiting for them all. But that has nothing to do with all this.
Not a true statement. The "Both Jet and ..." part is wrong. Jet, like Ace, operates synchronously to build a result-set. In external SQL engines, the result set is built locally, asynchronously with the FE, and then transferred to the FE via the recordset object. In Jet and Ace, the result set is in the file that Jet or Ace can directly access to build the fully-extant temp table that contains the list of returned items.
OK, a qualifier on that statement. That is the way that Microsoft documentation describes it when discussing pass-thru and non-pass-thru queries. But since Access is NOT open-source, we have a hard time verifying the details.
EDIT: A further wrinkle is that a poorly designed query that includes Access VBA functions might force Access to do the processing rather than the back-end engine. Whenever THAT happens, you can bet that everything becomes synchronous.
Last edited: