Bom dia a todos
qual a maneira mais fácil para filtrar registros em um DBF e exibilos em um TBrowse?
Obs.: se um campo com opção de filtro não for especificado (empty), o mesmo não deve ser filtrado
Obrigado a todos.
Filtrar registros
Moderador: Moderadores
-
PITERGALDIANO
- Usuário Nível 2

- Mensagens: 91
- Registrado em: 28 Nov 2003 08:48
- momente
- Usuário Nível 3

- Mensagens: 496
- Registrado em: 03 Mar 2005 11:53
- Localização: São Carlos-SP
- Contato:
Amigo,
Usando uma função do amigo Dudu (senão estiver enganado), dou um seek e uso assim:
Faça as adaptações para seu caso e veja se resolve!
Valeu!!
Feliz ano novo!!! :)Pos
Usando uma função do amigo Dudu (senão estiver enganado), dou um seek e uso assim:
Código: Selecionar todos
oMybrowser:SKIPBLOCK := {|x| SKIPWHIL(x, {||FATABELA->Cod_Clie==mCod_Clie})}
oMybrowser:GOTOPBLOCK := {| | SKIPWHIL((LASTREC()* -1),{||FATABELA->Cod_Clie==mCod_Clie})}
oMybrowser:GOBOTTOMBLOCK := {| | SKIPWHIL((LASTREC()* 1), {||FATABELA->Cod_Clie==mCod_Clie})}
//---------------
*
* SKIPWHIL ()
*
* Esta funcao 'e auxiliar dos browsers, e serve para fazer filtros...
* Dudu_Xbase : 23/05/1997 fununcionou... *:)
*
**********/
function SKIPWHIL (x,key_val)
local i := 0
if lastkey() == 0
return i
endif
if (x > 0 .and. recno() <> lastrec()+1)
do while (i < x)
DBSKIP(1)
if eof() .or. !(eval(key_val))
DBSKIP(-1)
exit
endif
i++
enddo
elseif (x < 0)
do while (i > x)
DBSKIP(-1)
if bof()
exit
endif
if !(eval(key_val))
DBSKIP(1)
exit
endif
i--
enddo
endif
return i
Valeu!!
Feliz ano novo!!! :)Pos
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br