@LMondi
Se proponi un codice devi anche proporre quello delle funzioni usate.
La GetState non e' di VB e non la mostri ... In realta' e' piu' semplice scrivere

codice:
If objrsPI.State = adStateOpen Then
  objrsPI.Close
  Set objrsPI = Nothing
End If

If objconnPI.State = adStateOpen Then
  objconnPI.Close
  Set objconnPI = Nothing
End If