Como executo esta operação especial com um campo calculado no Access?

1

Eu tenho uma tabela do Microsoft Access chamada calc1 com campos:

  • calc_ID (chave primária, número)
  • calc (text)

Eu tenho outra tabela chamada res1 com:

  • res_ID (chave primária)
  • calc_ID (number)
  • dimensionbefore (number)
  • dimensionafter (number)
  • result (calculado)

Existe uma relação, um calc1 para muitos res1 , vinculando com calc_ID .

É possível fazer com que o campo result receba sua fórmula do campo calc na tabela calc1 ?

Exemplo: Para alongamento, o campo calc é

([dimensionafter] - [dimensionbefore]) / ([dimensionbefore] * 100)

e calc_ID é 1. Na tabela res1 , se o calc_ID for 1, o campo de resultado obterá o texto de calc e criará a fórmula e retornará o resultado.

    
por Francis Dumas 09.04.2013 / 22:35

1 resposta

0

Crie uma consulta como esta:

SELECT res1.res_ID, res1.calc_ID, res1.dimensionbefore, res1.dimensionafter,
       Eval(Replace(Replace([calc1].[calc],"[dimensionafter]",[dimensionafter]),"[dimensionbefore]",[dimensionbefore])) AS result
FROM res1 INNER JOIN calc1 ON res1.calc_ID = calc1.calc_ID;

O campo result retornará o resultado correto do cálculo.

    
por 10.04.2013 / 00:31