Когато изпълнявате пакет от команди с помощта на ADODB, вярвам, че той изпълнява всяка отделно. За да принудите изпълнението на следващата команда, трябва да използвате следното:
Set rs = rs.NextRecordset()
Промяната на края на вашата рутина на следното трябва да свърши работа:
Set rs = New ADODB.Recordset
rs.Open SQLStr, cn, adOpenKeyset, adLockOptimistic
Set rs = rs.NextRecordset
MsgBox (rs.Fields(0).Value)