As a general rule - avoid global variables whenever possible.
There are however valid reasons to use global variables and for this use case, you can make a ResultSet become uninitialized in two ways:
1. Calling dim again:
Code:
Dim GlobalRs As ResultSet
'Now GlobalRs.IsInitialized = True
2. Assigning an uninitialized object:
EmptyRs is declared as a global variable and is never initialized or assigned. You can reuse it as many times as needed.
I prefer this method.