| 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.
|