criar campo select atraves de outro campo (resolvido)

(jaimenetoj) #1

Bo noite.

Sou novo aqui e preciso da ajuda de vcs.
Tenho uma tabela de clientes, nesta tabela existe a data que cada cliente foi cadastrado.
Bem, criei um novo formulario e preciso recuprar todos os clientes do campo data desse mesmo formuláro.
Como posso fazeer isso?

(Diogo Toscano) #2

Nao entendi “preciso recuprar todos os clientes do campo data desse mesmo formuláro”.

(jaimenetoj) #3

Nesse novo formulário existe um campo data do tipo data, um campo cliente do tipo select entre outros. Preciso que apareça todos os clientes da minha tabela clientes que foram cadastrados de acordo com a data que eu digitar no campo data.

(Cleyton Euler) #4

Acho que ele quis dizer: todos os clientes que foram cadastrados com uma data escolhida na select.

Se for: na query do select de clientes use na cláusula where o nome do seu campo data. No campo data vc manda carregar via ajax o campo cliente.

Algo como:
select nomecliente from suatabela where datacadastro={nomedocampodatanaaplicacao}

Não esqueça de que o uso de ajax na aplicação formulário deve esta habilitado.

(jaimenetoj) #5

Meu campo data nao é do tipo select é do tipo data. O que eu quero é tipo o exemplo de estado e cidade, quando escolhe o estado aparece todas as cidades desse estado, porem o meu campo data é do tipo data, assim eu não consigo carregar o processamento ajax pois esse evento só aceita os campos que forem select.

(Tiago Kirsten) #6

Tenta com um evento Ajax, OnChange no campo data, ai faz um lookup e joga o resultado no campo cliente.

(jaimenetoj) #7

Fiz assim. No evento ajaxa criei um novo envento do tpo onchange no campo data e usei o

sc_lookup (ds, “select ciente from cliente where data = ‘{data}’”);
{cliente}=ds[0][0];

o meu campo cliente nem aparece.

(Tiago Kirsten) #8

sc_lookup (ds, “select cliente from cliente where data = ‘{data}’”);
{cliente}={ds[0][0]};

Faltou chaves ali, tente deste jeito.

(Diogo Toscano) #9

isso so vai alimentar 1 cliente … pensei q ele queria mostrar um combo com todos os clientes …
Ai seria como o exemplo do Cleyton Euler.

select codigocliente, nomecliente from suatabela where datacadastro=’{nomedocampodatanaaplicacao}’

ai vc cria um evento javascript na data com a funcao nm_recarga_form() ou eh nm_recarrega_form() que ele da um refrsh … se n me engano eh essa a funcao de refresh … depois alguem esclarece melhor.

(jaimenetoj) #10

Diogo Toscano, é isso mesmo que quero. mostrar todos os cliente cadastrados na data que eu digitar. mas ainda não conseguir fazer.
no campo cliente (tipo select) criei o lookup de edição e coloque select nome_cliente from tabela_cliente where data_cliente = ‘{campo_data}’.
como faço para usar a função que vc indicou?

Outra opção que fiz foi:
no campo data (coloquei tipo select),
no lookup de edição coloquei
select distinct data_cliente from tabela cliente
ai fiz o processamento ajax; funcionou, porém a data está no formato ‘aaaa-mm-dd’, tentei colocar formatação direto no sql, quando faço isso não aparece nada no meu campo data.
(select distinct date_format(data_cliente, ‘%d/%m/%Y’) from tabela_cliente).

(Diogo Toscano) #11

Poe assim se o campo data for um select tbm:

select data_cliente from tabela_cliente

select distinct data_cliente, date_format(data_cliente, ‘%d/%m/%Y’) from tabela_cliente
(primeiro campo é o que vai ser usado no codigo e o segundo campo é o que sera exibido)
e ai no de cliente vai ser:
select codigo, nome_do_cliente from cliente where data = ‘{data}’

(jaimenetoj) #12

Obrigado a todos que responderam, a resposta do Toscano resolveu o meu problema.
Valeu!

(Diogo Toscano) #13

:slight_smile: