Når du kører en batch af kommandoer ved hjælp af ADODB, tror jeg, at den kører hver enkelt separat. For at tvinge den næste kommando til at køre, skal du bruge følgende:
Set rs = rs.NextRecordset()
Ændring af slutningen af din rutine til følgende burde gøre tricket:
Set rs = New ADODB.Recordset
rs.Open SQLStr, cn, adOpenKeyset, adLockOptimistic
Set rs = rs.NextRecordset
MsgBox (rs.Fields(0).Value)