1. la connessione resta la stessa, non varia
2. tu estrai più di un record, giusto? e quindi questa IF andrebbe fatta record per record... se hai solo un primo estratto e un secondo estratto, ti conviene leggerli tutti e due, con una cosa del genere

sSQL = "select ID,Data, BA1,BA2, FI1,FI2, MI1,MI2, NA1,NA2, PA1,PA2, RO1,RO2, VE1,VE2, NZ1,NZ2 from archivio"

*DOPO*, quando vai a riempire la griglia, farai la tua IF campo per campo.

a meno che....

a meno che la tua griglia non sia in modalità BOUND, per cui devi darle in pasto un recordset già pronto. se è così dimmelo, che c'è un'altra soluzione