Fórum Associação de Variável Dinâmicamente #374370
31/08/2009
0
Olá pessoal, se alguém poder me ajudar eu agradeço.
Estou criando uma rotina toda dinâmica que monta os parâmetros de um relatório e chama ele conforme dados lidos em uma tabela do banco.
Estou tentando fazer uma associação de uma variável já declarada, global, com o parâmetro do relatório, sendo o nome desta variável oriunda de um campo que li da tabela.
Sei que está difícil entender, portanto vou exemplificar para facilitar.
Na minha tabela está mais ou menos assim:
* Nome do parametro: fs_empresa
* Tipo: String
* valor digitavel: Não
* valor padrão: ¬VS_EMPRESA¬
onde vs_empresa é uma variável global do meu sistema.
O problema é fazer o delphi entender que a string ¬VS_EMPRESA¬ é a variável vs_empresa.
Poderia muito bem criar uma estrutura de validação do tipo:
if query.fieldbyname(´variavel´).value = ´¬VS_EMPRESA¬´ then
fs_empresa := vs_empresa
Mas ficaria inviável onde se tem muitas variáveis ou que podem ser criadas a qualquer momento.
Estou criando uma rotina toda dinâmica que monta os parâmetros de um relatório e chama ele conforme dados lidos em uma tabela do banco.
Estou tentando fazer uma associação de uma variável já declarada, global, com o parâmetro do relatório, sendo o nome desta variável oriunda de um campo que li da tabela.
Sei que está difícil entender, portanto vou exemplificar para facilitar.
Na minha tabela está mais ou menos assim:
* Nome do parametro: fs_empresa
* Tipo: String
* valor digitavel: Não
* valor padrão: ¬VS_EMPRESA¬
onde vs_empresa é uma variável global do meu sistema.
O problema é fazer o delphi entender que a string ¬VS_EMPRESA¬ é a variável vs_empresa.
Poderia muito bem criar uma estrutura de validação do tipo:
if query.fieldbyname(´variavel´).value = ´¬VS_EMPRESA¬´ then
fs_empresa := vs_empresa
Mas ficaria inviável onde se tem muitas variáveis ou que podem ser criadas a qualquer momento.
Mlferreira
Curtir tópico
+ 0
Responder
Posts
31/08/2009
Mlferreira
Só para complementar, seria algo parecido com:
vs_comando := ´fs_parametro := ´+query.fieldbyname(´VARIAVEL´).Value;
exec(vs_comando);
onde o exec funcionaria como um execute immediate do oracle, rodando a string como comando.
vs_comando := ´fs_parametro := ´+query.fieldbyname(´VARIAVEL´).Value;
exec(vs_comando);
onde o exec funcionaria como um execute immediate do oracle, rodando a string como comando.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)