PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → Exemplos de HFILTER
Exemplos de HFILTER
Iniciado por Boller, jan., 25 2023 2:14 PM - Sem resposta
Membro registado
3.657 mensagems
Popularité : +175 (223 votes)
Publicado em janeiro, 25 2023 - 2:14 PM
Exemplo de montagem de filtro em variável para aplicar no HFilter
https://help.windev.com/?3044100&lang=en-US&productversion=xxF280051n

HourGlass(True)

x is int = 30

sMontaFiltro is string = "T002_Produtos_Local.T002_Produtos_ID IN ("

LOOP(5)

x++

sMontaFiltro += (Length(sMontaFiltro)>0 and x<35?", " else "") + X

END

sMontaFiltro += ")"

HFilter(T002_Produtos_Local, sMontaFiltro)

TableDisplay(TABLE_T002_Produtos_PCSOFT,taInit)

gnTotal = TABLE_T002_Produtos_PCSOFT.Count(toTotal)

HourGlass(False)

by Mello

Boller
25 Jan. 2023

//------------------------------------------------------------------------------------------------------------------------------

Exemplo usando a clausula IN
HFilter(T002_Produtos_Local, "T002_Produtos_Local.T002_Produtos_ID IN(36, 37, 38, 32, 27)")

by Mello

Boller
25 Jan. 2023

//------------------------------------------------------------------------------------------------------------------------------

Exemplo com Between de intervalo de valores dinamicos atraves de Stringbuild
2 campos na tela de entrada
Edt_gn_glo_cod_emp = 2
Edt_gn_glo_cod_obra = 120

HourGlass(True)

Hfilter(pla_cus_obra, StringBuild("id_cllientes = %1 and id_obras = %2 and id_insumos > 0", gn_glo_cod_emp, gn_glo_cod_obra))

TableDisplay(pla_cus_obra,taInit)

gnTotal = pla_cus_obra.Count(toTotal)

HourGlass(False)

by Mello

Boller
25 Jan. 2023

//------------------------------------------------------------------------------------------------------------------------------

Exemplo montando um filtro dinamicamente com LOOP ou FOR ou While...
HourGlass(True)

x is int = 30

sMontaFiltro is string

LOOP(5)

x++

sMontaFiltro += "T002_Produtos_Local.T002_Produtos_ID="+x+" OR "

END

//remove o ultimo OR = 4 caracteres

sMontaFiltro = Middle(sMontaFiltro,1,Length(sMontaFiltro)-4)

HFilter(T002_Produtos_Local, (sMontaFiltro))

TableDisplay(TABLE_T002_Produtos_PCSOFT,taInit)

gnTotal = TABLE_T002_Produtos_PCSOFT.Count(toTotal)

HourGlass(False)

Boller
25 Jan. 2023

//------------------------------------------------------------------------------------------------------------------------------

Exemplos com valores Fixos
HourGlass(True)

HFilter(T002_Produtos_Local,("T002_Produtos_Local.T002_Produtos_ID=36 OR T002_Produtos_Local.T002_Produtos_ID = 37 OR T002_Produtos_Local.T002_Produtos_ID = 38 OR T002_Produtos_Local.T002_Produtos_ID = 32 OR T002_Produtos_Local.T002_Produtos_ID = 27"))

TableDisplay(TABLE_T002_Produtos_PCSOFT,taInit)

gnTotal = TABLE_T002_Produtos_PCSOFT.Count(toTotal)

HourGlass(False)

Boller
25 Jan. 2023

//------------------------------------------------------------------------------------------------------------------------------


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/