Perchè 'smazzolarsi' inutilmente il recordset per poi scoprire solo alla fine che non esistono record?
Trovo molto più semplice ed efficiente usare il metodo Filter:
codice:rs2.Filter = "<campo> <operatore> <valore>" if rs2.recordcount = 0 then 'Non vi sono record corrispondenti exit sub end if ' solo se vi sono record, carico il MSHFlexGrid1