Pergunta : Como poderia eu selecionar e somar uma tabela de uma escala dos campos?

Eu tenho esta tabela:
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: o
I quer selecionar e somar todos os períodos de Period1 a Period4.  E põr a quantidade sobre Period5, que tem uma quantidade a ser adicionada demasiado.
case 2: Começ a soma e espalhá-los em uma escala de periods.
class= do

Resposta : Como poderia eu selecionar e somar uma tabela de uma escala dos campos?

1. como é você que indica os dados desta tabela.
2.  Em como são você “que selecionam” os campos para somar e o campo para põr os dados.
3.  Você quer fazer este para somente um registro de cada vez, ou tudo registros? (Eu supor que o valor da identificação na terceira fileira de seus dados da amostra deve ser 14).

Para somar através dos campos múltiplos, eu uso uma função que eu criei:

fnSum público da função (ParamArray ValList () como a variação) como a variação

   intLoop não ofuscante como o inteiro
   myVal não ofuscante como a variação
   
   = 0 myVal
   Para o intLoop = o LBound (ValList) a UBound (ValList)
      Se IsNull (ValList (intLoop)) Então
        'não fazer nada
      ElseIf IsNumeric (ValList (intLoop)) Então
        myVal = myVal + ValList (intLoop)
      Terminar se
   Em seguida
   fnSum = myVal
   
Função do fim

Em uma pergunta, você pode chamar este como:

SELECIONAR o fnSum ([Period1], [Period2], [Period3], [Period4]) como SumOfSomething
De yourTable

O problema mais grande é que sua estrutura da tabela é danificada.  Para uma tabela com este tipo de dados, sua estrutura deve olhar mais como:

Identificação - Autonumber
SomeOtherID - inteiro longo (esta seria uma chave extrangeira a alguma outra tabela que descreve o que os valores pertencem em seu campo atual da identificação têm na terra comum).  Pôde ser um projectID, ou qualquer outra coisa semelhante
Period_Num - inteiro (este é o lugar onde você identificaria o período específico - um pouco do que em um nome de campo)
Period_Val - o inteiro longo, este é onde você armazenaria realmente o valor

Identificação ProjectID Period_Num Period_Val
1 12 1 31
2 12 2 24
3 12 3 35
4 12 4 6

Outras soluções  
 
programming4us programming4us