Lorsque vous exécutez un lot de commandes à l'aide d'ADODB, je pense qu'il les exécute séparément. Pour forcer l'exécution de la prochaine commande, vous devez utiliser ce qui suit :
Set rs = rs.NextRecordset()
Changer la fin de votre routine comme suit devrait faire l'affaire :
Set rs = New ADODB.Recordset
rs.Open SQLStr, cn, adOpenKeyset, adLockOptimistic
Set rs = rs.NextRecordset
MsgBox (rs.Fields(0).Value)