domingo, 5 de março de 2017

Aula 1083 - WinDev Tabela 050/.. - Tabela Ordem Crescente/Decrescente____









Video no Youtube Se Gostou clique aqui para dar joinha

Video Complemtar da aula




https://doc.windev.com/en-US/?2034001&name=SQL_statements




WinDev - Tabela - 001/... Ancorar Tabela e coluna
WinDev - Tabela - 002/... Esconder ou Mostrar Coluna Tabela 
WinDev - Tabela - 003/... Mudar Cor e Fundo da Coluna da Tabela 
WinDev - Tabela - 004/... Mudar Largura e Fonte da Coluna da Tabela 
WinDev - Tabela - 005/... Coluna de valor Deixar em Branco 
WinDev - Tabela - 006/... Alterar Nome,Cor,Cor de Fundo da Coluna da Tabela 
WinDev - Tabela - 007/... Alterar ordem das Colunas por Programacao
WinDev - Tabela - 008/... TableSeek Pesquizar se Existe
WinDev - Tabela - 009/... TableSelectPlus - Seleciona Iten tabela
WinDev - Tabela - 010/... TableSort - Classifica Coluna
WinDev - Tabela - 011/... Zoom
WinDev - Tabela - 012/... for Each Row Of - Percorrer
WinDev - Tabela - 013/... Selecionar Varias Linhas
WinDev - Tabela - 014/... Balao - Tabela ToolTip
WinDev - Tabela - 015/... Coluna Contrainer
WinDev - Tabela - 016/... Sum - Como Mudar Nome
WinDev - Tabela - 017/... TableInfoXY - Saber Nome,Posição e Linha da Coluna 
WinDev - Tabela - 018/... Guardar e Recuperar Posição Tabela
WinDev - Tabela - 019/... TableInputsearch
WinDev - Tabela - 020/... Descobrir Posição cliente Novo
WinDev - Tabela - 021/... Saber quantos e nome das Colunas
WinDev - Tabela - 022/... Tableselect - Selecionar varias linhas tabela e Ler
WinDev - Tabela - 023/... BuildBrowsingTable - Cria Tabela Manual
WinDev - Tabela - 024/... Somar Valor Tabela Automatico ou Manual - rowtotal
WinDev - Tabela - 025/... Eventos no cabecalho da Tabela
WinDev - Tabela - 026/... Tabela - Break - Totalizadores
WinDev - Tabela - 027/... Tabela - Colorir Linha
WinDev - Tabela - 028/... Double click Na seleção Item
WinDev - Tabela - 029/... Tabela - Descrição, Em Varias Linhas Coluna Tabela
WinDev - Tabela - 030/... Tabela - Fazer titulos com colunas
WinDev - Tabela - 031/... Tabela - Sql - Query - Agrupar Datas Nas Notas
WinDev - Tabela - 032/... Pintando Tabela
WinDev - Tabela - 033/... FOR EACH / WHERE / on / Ordem
WinDev - Tabela - 034/... Filter 
WinDev - Tabela - 035/... HFilter
WinDev - Tabela - 036/... Ultimo Registro - TableSelectPlus
WinDev - Tabela - 037/... Desabilitar Edição Tabela
WinDev - Tabela - 038/... Pesquisa - TableEnableFilter
Blog - WinDev - Relatorio - 039/... Copias - IParameter - Icopies
WinDev - Tabela - 040/... Cor Negativo Coluna Saldo
WinDev - Tabela - 041/... - Criar Tabela via programação
Borda - TAbela - 042/... - Novidade Windev22
..VisibleInExportAndPrint - Colunas Nao Levar Exportar e Imprimir - WinDev - Tabela - 043
BuildBrowsingTable - Monta Tabelas Automaticamente - WinDev - Tabelas - 044
FileToMemoryTable - Monta Tabela Query - WinDev - Tabela - 045
Titulos e SubTitulos - Tabela - 046/...
Titulos e SubTitulos - Manualmente - Tabela - 047/...
Bloquear ou Liberar Lupa/mover Coluna Tabela - Windev Tabela - 048/...
TableEnableFilter - Tabela Diversos Filtros e ordem - WinDev Tabela - 049/...
Ordem Crescente/Decrescente - WinDev Tabela - 050/...
TableDisableFilter - WinDev Tabela 051/...






//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)



// ordem crescente
gs_ordem_consulta is string="asc"
mostra_cli(gn_classificacao)



//== monta query
x
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}
   
//cliente.razao_social_nome
//cliente.id_empresa_cliente



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




















Teste

Teste
teste