[RESOLVIDO] Auto-Complete

Boa tarde,

Não sei se na verdade é um bug, mas tô tentando fazer o seguinte Lookup em um campo Text Auto-Complete:

SELECT ID_CONTRIBUTOR, NAME_CONTRIBUTOR
FROM contributor
WHERE ID_COMPANY = {ID_COMPANY}
ORDER BY NAME_CONTRIBUTOR

simplesmente não me retorna nada
ou da erro no select quando na inclusão/alteração

caso eu coloque WHERE ID_COMPANY = 1 ou não coloque a clausula WHERE aí funciona normalmente.

Dário
SC 6.00.0022

pensou na possibilidade de:

SELECT ID_CONTRIBUTOR, NAME_CONTRIBUTOR
FROM contributor
WHERE ID_COMPANY = {ID_COMPANY} <<<--------
ORDER BY NAME_CONTRIBUTOR

abraços

Desculpa LuizMarin mas não entendi

Dário

infelizmente não funciona, pois o select do auto complete é montado e fixado antes do {ID_COMPANY} receber seu valor, a não ser que {ID_COMPANY} seja um select com recarga de página.

Uma falha enorme para este tipo de campo, a meu ver. também acho que ele deveria aparecer na lista de processamento ajax em outros campos.

Ok,

Muito obrigado, vou procurar outra solução.

abraço

Dário

Da pra fazer com ele faça, mas eu não vou ter tempo pra analisar o código.

Se não tivesse corrido aqui eu te ajudava brother.

não seria essa a ideia ?

SELECT ID_CONTRIBUTOR, NAME_CONTRIBUTOR
FROM contributor
WHERE ID_CONTRIBUTOR = {ID_COMPANY} <<<--------
ORDER BY NAME_CONTRIBUTOR

Luiz,
Na verdade tenho que selecionar os contribuidores de uma determinada empresa por isso WHERE ID_COMPANY = {ID_COMPANY}.

Robert Berbert,
Caso arrume um tempinho da uma analizada no código, acho que servirá para muito aq do forum.

Abraço a todos

Dário

O campo que seleciona o {ID_COMPANY} tem que ser um combo. E nele vc tem que informar para recarregar a tela, só assim o valor será passado para o campo do auto complete.

Obrigado pelas dicas.

Resolvi com recarga de página, conforme dicas do Haroldo e do Alexandre

abraço a todos

Dário

Haroldo, essa mensagem é antiga… e o problema aparentemente ainda sem solução confere ?

Alguma sugestão? O meu resultset é muito grande pra trazer em um combobox.

Erion, você quando passa um campo como parte do WHERE no lookup ele simplesmente não tras valor.

Por exemplo:

WHERE ID_COMPANY = ‘{Id_Company}’
WHERE ID_COMPANY = ‘’

Ou você faz como as sugestões de fazer isso com uma atualização com outro campo de referencia, ou você pode atribuir a uma variavel global ([var_id_company]) um valor na carga do formulario, ou até mesmo antes e deixar vagando pelo sistema.

Assim o lookup poderia ter WHERE ID_COMPANY = ‘[var_id_company]’ que possivelmente funcionará.

Não funciona… já testei. Pelo menos não com campo Número Auto-Complete.

Ok, vamos lá então.

Não sei se já tentou isso mas, coloque a aplicação em modo debug e veja o que acontece.
Possivelmente vai aparecer WHERE ID_COMPANY = ‘’.
Se acontecer isso, altere para uma variavel global no lugar de um campo no WHERE e antes de chamar o formulario passe como parametro essa variavel.
WHERE ID_COMPANY = ‘[param_id_company]’
sc_redir(‘nome_formulario’, param_id_company=1);

Execute e veja se no debug vai aparecer
WHERE ID_COMPANY = ‘1’

Se der certo já está meio caminho andado.

Espero que ajude.

Não dá certo… com este componente (Número Auto-Complete) não funciona… se for com outros… Radio por exemplo, funciona!