Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jattobá

Cálculos de expressões armazenadas em tabelas

Recommended Posts

Como armazer formulas em tabela e depois chamar estas formulas para realizar calculos.Ex: Salbase = [salario]Salhora = ( Salbase / 220 )HE = ( Salhora * 10 )Total = ( Salbase + HE )etc.Lembre-se que as formulas acima estão armazenados em tabela, com valor fixo e variáveis.O sistema terá que ler a tabela de fórmulas e gerar os cálculos e quardar os resultados em outra tabela.Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode utilizar o Microsoft Script Control.

 

Habilitando ele nas referências você poderá usá-lo assim:

Dim script As New ScriptControlscript.Language = "vbscript"expressao = "5 + 1"MsgBox script.Eval(expressao) 'a msgbox mostrará 6

Ou pode fazer via SQL:

expressao = "campo + 5"conexao.execute "update tabela set campo = " & expressao

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Luiz,Mas o código informado somente avalia uma expressão, retornando se a fórmula está correta.Este código é para ser usado depois da composição da fórmula. O que busco é a maneira de como tratar um código conforme informado acima.O que estou imaginando para o sistema:Em um campo MEMO o usuário faz a fórmula, buscando os parâmetros internos, antes de gravar o sistema avalia se é uma fórmula válida(matemática), se fórmula correta, grava em tabela de formulas, se não corrige.Criado um grupo de fórmula gravadas ex: onde exista um campo com o nome do evento e o contéudo da fórmula:CodFormula Conteúdocod0001 A+B+CChamo a tabela de fórmulas, processo e armazeno o resultado em outra tabela.Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para verificar se a fórmula é correta ou não você pode utilizar o Script Control e testá-la com o eval, usando possíveis valores, caso esteja matematicamente incorreta o resultado será um erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.