ciao
non voglio rivoluzionare il tuo codice, ma qualcosa non mi torna

essenzialmente, fai 2 query quando te ne basta una! Infatti la prima puoi evitartela: ti basta fare la seconda e guardare la proprietà RecordCount dell'oggetto recordset

e poi, quel ciclo for
codice:
For i=1 to CountDiquantita
devi mettere un movenext, altrimenti non si schioderà mai dal primo record