Wenn Sie eine Reihe von Befehlen mit ADODB ausführen, wird meiner Meinung nach jeder einzeln ausgeführt. Um die Ausführung des nächsten Befehls zu erzwingen, müssen Sie Folgendes verwenden:
Set rs = rs.NextRecordset()
Ändern Sie das Ende Ihrer Routine wie folgt, sollte es ausreichen:
Set rs = New ADODB.Recordset
rs.Open SQLStr, cn, adOpenKeyset, adLockOptimistic
Set rs = rs.NextRecordset
MsgBox (rs.Fields(0).Value)