Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Cálculo Complexo no Access


Victor Campos

Pergunta

Olá amigos.

Estou desenvolvendo uma pequena aplicação no Access e surgiu um problema pro qual eu não acho solução de jeito nenhum.

É o seguinte: minha aplicação registra medições de energia elétrica de vários medidores de uma fábrica.

Sendo assim, os campos são medição (double), data da medição (data), código da medição (chave primária, auto-incrimentada) e ID do medidor (texto, chave estrangeira).

Dessas medições eu preciso consultar uma série de indicadores. Esses indicadores são compostos por cálculos com os valores das medições de certos medidores. Se fosse só a soma de certos medidores, seria simples. Mas o problema é que muitos desses cálculos envolvem multiplicações dos valores de certos medidores por uma proporção, ou subtração do valor de um medidor pelo de outro.

Um exemplo:

Indicador 1 = 51-(107+104+101)+50+49+99+16+21+24+28+29+30+48+50+49+99+28+29+30+101+104+

25+((26-42)*0,08)+(27*0,18)+((26-42)*0,54)+(27*0,73)+52-20-18+43+53+22+18

(esses números são as IDs dos medidores)

Preciso conseguir calcular essa agregação de valores para cada dia de medição.

Agradeço desde já qualquer idéia.

Editado por Victor Campos
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Monta a fórmula ou a regra que ajudamos no SQL.

Ex:

Se valor < 28 : I = Registrador * 0,08;

Se valor >= 28 E < 50 : I = Registrador * 1,2;

Se valor >= 50 : I = Registrador * 1,85;

Aí com base nisso podemos ajudar na consulta.

Editado por Iceguy
Link para o comentário
Compartilhar em outros sites

  • 0

Iceguy, um amigo aqui do trabalho conseguiu uma solução para mim, usando uma consulta de referência cruzada que trás todas as medições de todos os medidores, pelas datas das mesma, asssim:

medidor1 medidor2 medidor3

data1 valor valor valor

data2 valor valor valor

...

Desta consulta, já consigo calcular os indicadores com uma outra consulta:

Ex:

SELECT [EE_Tabela de referência cruzada].data_medicao, ([70-530-QGTB1]+([71-530-QGTB2]*0.08) - [41-253-CEFAM]) AS YDF

FROM [EE_Tabela de referência cruzada];

onde 70-530-QGTB1 e 71-530-QGTB2 são dois medidores, e a máscara YDF é um dos indicadores que eu quero.

Mesmo assim, muito obrigado pelo intuito de ajudar, Iceguy! XD

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...