Modules

5.61 Funzione parametrica per sommare n campi consecutivi di una tabella
  Roberto

Quello che segue è il codice VBA di una funzione che serve a sommare i valori di un numero indeterminato di campi consecuitivi di una tabella.
Public Function SommaCampi(NomeTabella As String, _
Chiave As Long, Da As Integer, A As Integer) As Long
Dim rst As DAO.Recordset
Dim Numero As Integer
Set rst = CurrentDb().OpenRecordset(NomeTabella, _
dbOpenDynaset)
rst.FindFirst "ID =" & Chiave
For Numero = Da - 1 To A - 1
    SommaCampi = SommaCampi + _
    rst(rst.Fields(Numero).Name)
Next Numero
Set rst = Nothing
End Functio
Se la tabella che contiene i dati si chiama Tabella1 e si vuole ottenere per ogni record la somma dei valori contenuti nel terzo, quarto e quinto campo, si può ottenere ciò con una query che abbia il seguente codice SQL:
SELECT Tabella1.*, SommaCampi("Tabella1",[ID],3,5) AS Totale
FROM Tabella1;
La funzione di cui sopra fa riferimento alla libreria Microoft DAO quindi, se si usa una versione di Access successiva ad Access 97, occorre aggiunfere tale libreria ai riferimenti del database.


Se pensate di avere del materiale freeware interessante e volete pubblicarlo, allora leggete qui.