Kiedy uruchamiasz partię poleceń za pomocą ADODB, uważam, że uruchamia się każdy z nich osobno. Aby wymusić uruchomienie kolejnego polecenia, musisz użyć następującego:
Set rs = rs.NextRecordset()
Zmiana zakończenia rutyny na następujący powinna załatwić sprawę:
Set rs = New ADODB.Recordset
rs.Open SQLStr, cn, adOpenKeyset, adLockOptimistic
Set rs = rs.NextRecordset
MsgBox (rs.Fields(0).Value)