Vraag : Hoe kon ik een lijst van een waaier van gebieden optellen selecteren en?

Ik heb deze lijst:
ID Period1 Period2 Period3 Period4 Period5 Period6 Period7 Period8 Period9
12 31 24 35 6 33 24 54 34 63
13 30 14 65 16 33 214 52 4 3
13 20 74 61 46 43 14 2 14 33

Case 1:
I wil alle periodes van Period1 selecteren en optellen aan Period4.  En zet de hoeveelheid op Period5, die een hoeveelheid ook toe te voegen heeft.
case 2: Krijg de som en spreid hen in een waaier van periods.
uit

Antwoord : Hoe kon ik een lijst van een waaier van gebieden optellen selecteren en?

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

Andere oplossingen  
 
programming4us programming4us