La soluzione più efficiente sarebbe quella di 'trasformare' i tuoi controlli Image in un'array di controlli Image, ovvero invece di avere:

IMG_sala1
IMG_sala2
IMG_sala3
...

avrai

IMG_sala(1)
IMG_sala(2)
IMG_sala(3)
...

In questo caso la verifica diventerebbe

codice:
Do While Not rs.EOF
    IMG_Sala(rs("numero_sala").Value).Visible = True
Loop
Se, come immagino, durante l'esecuzione del programma devi mostrare/nascondere alternativamente una o più sale, allora prima del Do While/Loop devi nasconderle tutte:
codice:
For i = 1 to 20
    IMG_Sala(i).Visible = False
Next i
Poi il Do While/Loop ri-mostrerà quelle esistenti.