La risposta dal DB che ottieni tramite l'oggetto RecordSet (RST) ti consente d'inserire, ad esempio, il valore o la stringa in un'appropriata variabile ed eseguire successivamente le elaborazioni volute. Ad esempio:
codice:
'Esegue la connessione con il DataBase - TblCostiDiretti:
    With ConnettiCE1
        .ConnectionString = DataConnessione
        .CommandTimeout = 15
        .Open
    End With
    
    RSTCE1.Source = "SELECT Descrizione, Anno1, Anno2, Anno3, Anno4, Anno5, Totale FROM TblCostiDiretti;"
    RSTCE1.Open , ConnettiCE1, adOpenDynamic


'Consumi Materie prime - TblCostiDiretti:
    strCprime = RSTCE1("Descrizione")
    dblCprime1 = RSTCE1("Anno1")
    dblCprime2 = RSTCE1("Anno2")
    dblCprime3 = RSTCE1("Anno3")
    dblCprime4 = RSTCE1("Anno4")
    dblCprime5 = RSTCE1("Anno5")
    RSTCE1.MoveNext
    ... ... ...     
'Chiude e cancella il recordSet:
         RSTCE1.Close
         Set RSTCE1 = Nothing
'Chiude e cancella la connessione:
        ConnettiCE1.Close
        Set ConnettiCE1 = Nothing
Come puoi constatare i valori del RST sono stati inseriti in una variabile string ed in variabili Double, per essere poi elaborati. Ad esempio:
codice:
FrmContoE1.Txt25CE.Text = Format((dblCprime1  + dblMatC1 + dblAtri1), "#,##0")
Ciao