Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
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.
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.
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