Danke!
Damit mit der Auswertung der Fehlermeldung ist eine gute Lösung. Der zusätzliche SQL nimmt nicht sonderlich viel Zeit in Anspruch und durch das CommandTimeout= 1 ist die Fehlermeldung ruckzuck da!

Aber kannst du das asynchrone Starten näher beschreiben?

Könnte dies so lauten:
Code:
Dim AS400Connect As New ADODB.Connection
Dim AS400Command As New ADODB.Command
Dim AS400Record As New ADODB.Recordset

CommString = "Select * FROM DCWD.KBEWKO WHERE KBKST<>'99999' Order BY KBBTX "

With AS400Connect
   .ConnectionString = "DSN=THK-Bibliothek"
   .Open "DSN=THK-Bibliothek", Benutzerkennung, Passwort
end with

With AS400Command
   .CommandText = CommString
   .CommandTimeout = 500
   Set .ActiveConnection = AS400Connect
End With

AS400Record .StayInSync = False
AS400Record .Open AS400Command
...
Gruß Thomas