1. hoe u bent die de gegevens van deze lijst tonen.
2. Hoe u „selecterend“ de gebieden en het gebied om op te tellen te zetten de gegevens in bent.
3. Wilt u dit voor slechts één verslag, of alle verslagen tegelijkertijd doen? (ik veronderstel dat de waarde van identiteitskaart in de derde rij van uw steekproefgegevens 14) zou moeten zijn.
Voor het optellen over veelvoudige gebieden, gebruik ik een functie die ik heb gecre�ërd:
Openbare fnSum van de Functie (ParamArray ValList () als Variant) als Variant
Schemerige intLoop als Geheel
Schemerige myVal als Variant
myVal = 0
Voor intLoop = LBound (ValList) aan UBound (ValList)
Als IsNull (ValList (intLoop)) Dan
'doe niets
ElseIf IsNumeric (ValList (intLoop)) Dan
myVal = myVal + ValList (intLoop)
Eind als
Daarna
fnSum = myVal
De Functie van het eind
In een vraag, kunt u dit als roepen:
SELECTEER fnSum ([Period1], [Period2], [Period3], [Period4]) als SumOfSomething
VAN yourTable
Het grotere probleem is dat uw lijststructuur ontsierd is. Voor een lijst met dit type van gegevens, zou uw structuur moeten kijken meer als:
Identiteitskaart - Autonumber
SomeOtherID - lang geheel (dit zou een buitenlandse sleutel aan één of andere andere lijst zijn die beschrijft wat de waarden op uw huidig identiteitskaart- gebied hebben in gemeenschappelijk behoren). Het zou kunnen zijn een projectID, of iets in die aard
Period_Num - Geheel (dit is waar u de specifieke periode zou identificeren - eerder dan in een gebiedsnaam)
Period_Val - het lange geheel, dit is waar u eigenlijk de waarde zou opslaan
Identiteitskaart ProjectID Period_Num Period_Val
1 12 1 31
2 12 2 24
3 12 3 35
4 12 4 6