Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Cálculo Complexo no Access


Victor Campos

Question

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.

Edited by Victor Campos
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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.

Edited by Iceguy
Link to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...