× Linguagem de Programação ADVPL

Perguntas Variável com BeginSQL

Mais
10 anos 6 meses atrás #22436 por alex.magno
Pessoal, boa tarde

Estou tentando fazer uma query utilizando o BeginSQL só que quando utilizo uma variável no comando IN (SQL) dá erro.

A instrução que estou tentando executar é essa:

AND F2_VEND1 IN (%Exp:cFiltr%)

cFiltr é uma variável que recebe valores da seguinte maneira: '001','002'
Quando a query é montada pelo sistema, é adicionado aspas ' ' a mais gerando erro de SQL.
Ex.

Query gerada pelo sistema substituindo a variável:
AND F2_VEND1 IN (''001','002'')

percebe que o sistema adicionou aspas no início e no fim.
Tem como retirar isso?

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 6 meses atrás - 10 anos 6 meses atrás #22450 por will3698
Respondido por will3698 no tópico Variável com BeginSQL
Ola boa tarde !

Como o Sr preencheu a cFiltr ?
caso tenha sido assim :

cFiltr := "'001','002'"

seria interessante tentar assim :

cFiltr := "001','002"

pra a função Exp, possa colocar as aspas do inicio e fim por ela mesma..
Eu já tive este problema e não consegui retirar essas aspas, ai tive que da um jeitinho brasileiro . kk

faça o teste :)

att
Ultima edição: 10 anos 6 meses atrás por will3698.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 6 meses atrás #22523 por alex.magno
Respondido por alex.magno no tópico Variável com BeginSQL
Willian, boa tarde

Obrigado pela resposta!
Eu encontrei uma outra alternativa que pode te ajudar.

Criei uma variável cQuery1 e adicionei o conteúdo do IN nesse formato '001','002'...
cQuery1 := "%" + cFiltr + "%"

Na query eu coloquei a variável da seguinte forma:
AND C5_VEND1 IN (%Exp:cQuery1%)

Funcionou!!!

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 6 meses atrás #22572 por will3698
Respondido por will3698 no tópico Variável com BeginSQL
Boua ...

vou testar aqui nos meus fontes , vai diminuir consideravelmente as linhas se funcionar . :)

Obrigado

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.121 segundos
Joomla templates by a4joomla