1. comment allez vous montrant les données de cette table.
2. Dans comment allez vous « choisissant » les champs pour additionner et le champ pour mettre les données.
3. Voulez-vous faire ceci pour seulement un disque à la fois, ou tous des disques ? (Je suppose que la valeur d'identification dans la troisième rangée de vos données d'échantillon devrait être 14).
Pour additionner à travers les champs multiples, j'emploie une fonction que j'ai créée :
fnSum public de fonction (ParamArray ValList () comme variante) comme variante
Faible intLoop comme nombre entier
Faible myVal comme variante
= 0 myVal
Pour l'intLoop = le LBound (ValList) à UBound (ValList)
S'IsNull (ValList (intLoop)) Puis
'ne faire rien
ElseIf IsNumeric (ValList (intLoop)) Puis
myVal = myVal + ValList (intLoop)
Finir si
Après
fnSum = myVal
Fonction de fin
Dans une question, vous pouvez appeler ceci comme :
CHOISIR le fnSum ([Period1], [Period2], [Period3], [Period4]) comme SumOfSomething
De yourTable
Le problème plus grand est que votre structure de table est défectueuse. Pour une table avec ce type de données, votre structure devrait regarder plutôt :
Identification - Autonumber
SomeOtherID - long nombre entier (ce serait une clef étrangère à une autre table qui décrit ce que les valeurs appartiennent dans votre domaine courant d'identification ont en commun). Il pourrait être un projectID, ou n'importe quoi de pareil
Period_Num - nombre entier (c'est où vous identifieriez la période spécifique - plutôt que dans un nom de champ)
Period_Val - le long nombre entier, ceci est où vous stockeriez réellement la valeur
Identification ProjectID Period_Num Period_Val
1 12 1 31
2 12 2 24
3 12 3 35
4 12 4 6