PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 25 → Aula 1083 - WinDev Tabela 050/.. - Tabela Ordem Crescente/Decrescente
Aula 1083 - WinDev Tabela 050/.. - Tabela Ordem Crescente/Decrescente
Débuté par amarildo, 05 mar. 2017 13:25 - 1 réponse
Membre enregistré
535 messages
Popularité : +14 (14 votes)
Posté le 05 mars 2017 - 13:25
Nessa dica de hoje,
Vou Ensinar como colocar
Em ordem Crescente e Decrescente

//colocar em ordem crescente
gs_ordem_consulta="asc"
mostra_cli(gn_classificacao)
ReturnToCapture(EDT_PROCURA)

//--------------------------
//colocar em ordem descrescente
gs_ordem_consulta="desc"
mostra_cli(gn_classificacao)
ReturnToCapture(EDT_PROCURA)

//== monta query
Procedure mostra_cli(n_tipo_ordem is int=1)
SWITCH n_tipo_ordem
CASE 1 // Nome
QRY_cliente_ler.parametro_ordem="cliente.razao_social_nome "+gs_ordem_consulta // "cliente.razao_social_nome asc"
CASE 2 // Codigo
QRY_cliente_ler.parametro_ordem="cliente.id_empresa_cliente "+gs_ordem_consulta
CASE 3 // Fantasia
QRY_cliente_ler.parametro_ordem="cliente.nome_fantasia "+gs_ordem_consulta
CASE 4 // cnpjf/cpf
QRY_cliente_ler.parametro_ordem="cliente.cnpj_cpf "+gs_ordem_consulta
CASE 5 // inscricao estadual
QRY_cliente_ler.parametro_ordem="cliente.inscricao_estadual "+gs_ordem_consulta
CASE 6 // Telefone
QRY_cliente_ler.parametro_ordem="cliente.telefone "+gs_ordem_consulta
OTHER CASE
QRY_cliente_ler.parametro_ordem="cliente.razao_social_nome "+gs_ordem_consulta
END
HExecuteQuery(QRY_cliente_ler,hQueryDefault)
TableDisplay(TABLE_cliente)


//Query qry_cliente_ler
SELECT
cliente.id_cliente AS cli_id_cliente,
cliente.foto AS cli_foto,
cliente.id_empresa_cliente AS cli_id_empresa_cliente,
cliente.juridica_fisica AS cli_juridica_fisica,
cliente.cnpj_cpf AS cli_cnpj_cpf,
cliente.inscricao_estadual AS cli_inscricao_est,
cliente.razao_social_nome AS cli_razao_social,
cliente.nome_fantasia AS cli_fantasia,
cliente.data_cadastro AS cli_data_cadastro,
cliente.telefone AS cli_telefone,
cliente.id_empresa_representante AS cli_id_empresa_representante,
representante.nome AS rep_nome,
cliente.endereco_cidade AS cli_cidade,
cliente.endereco_uf AS cli_uf,
cliente.tabela_cliente AS tab_cli,
cliente.valor_contrato AS cli_valor_contrato,
cliente.valor_receber AS cli_valor_receber,
cliente.valor_pagar AS cli_valor_pagar,
cliente.tabela_fornecedor AS tab_for,
cliente.id_centro_custo AS cli_centro_custo,
cliente.endereco_cmun AS cli_cmun,
CASE cliente.situacao_cliente
WHEN 1 THEN ''
WHEN 2 THEN 'inat.'
WHEN 3 THEN 'bloq.'
WHEN 4 THEN 'monit'
WHEN 5 THEN 's/con'
END,
CASE cliente.situacao_fornecedor
WHEN 1 THEN ''
WHEN 2 THEN 'inat.'
WHEN 3 THEN 'bloq.'
WHEN 4 THEN 'monit'
WHEN 5 THEN 's/con'
END
FROM
cliente
LEFT OUTER JOIN
representante
ON cliente.id_empresa_representante=representante.id_empresa_representante
WHERE
( cliente.situacao_cliente={param_situacao_cliente}
OR
cliente.situacao_fornecedor={param_situacao_fornecedor} )
AND
cliente.id_empresa_representante BETWEEN {Param_representante_inicial} AND {Param_representante_final}
AND
cliente.tabela_cliente={param_somente_cliente}
AND
cliente.tabela_fornecedor={param_somente_fornecedor}
ORDER BY {parametro_ordem}

O segredo está na ultima linha
ORDER BY 
e entre chaves coloquei 
{  } 
parametro_ordem
exemplo:
order by asc -> por ordem crescente
order by desc -> por ordem decresente


http://windevdesenvolvimento.blogspot.com.br/2017/03/aula-1083-windev-tabela-050-tabela.html

https://www.youtube.com/watch?v=45JUSTthT0I
Membre enregistré
535 messages
Popularité : +14 (14 votes)
Posté le 05 mars 2017 - 14:04
Video Complementar
Mostrando a Query que esqueci de mostrar
e tambem
como ficou o programa final com os filtros todos


https://www.youtube.com/watch?v=KFjq-IKTdac