Cancelar Comando SET FILTER..Tem Como?
Moderador: Moderadores
Cancelar Comando SET FILTER..Tem Como?
Ola amigos...
é o sequinte estou usando SET FILTER TO para filtar ums dados em um DBF e gostaria de saber se tem como CANCELAR a Filtragem tipo o apertar o ESC e o FILTER PARAR.
Atenciosamente
ROBSON
é o sequinte estou usando SET FILTER TO para filtar ums dados em um DBF e gostaria de saber se tem como CANCELAR a Filtragem tipo o apertar o ESC e o FILTER PARAR.
Atenciosamente
ROBSON
-
MARCELOG
- Usuário Nível 4

- Mensagens: 546
- Registrado em: 15 Mar 2005 16:54
- Localização: Divinópolis/MG
Utilize uma "hot key" ou crie uma função que faça a desativação com o pressionamento de determinada tecla.
Se preferir comandos
SET FILTER TO //sem argumentos desabilita o filtro
ou função
DBSETFILTER() //sem argumentos desabilita o filtro
Ex:
IF LASTKEY() == K_ESC
SET FILTER TO // ou função ou chamada a outra função
ENDIF
SETKEY(K_ESC,{||DBSETFILTER()})
MarceloG
Se preferir comandos
SET FILTER TO //sem argumentos desabilita o filtro
ou função
DBSETFILTER() //sem argumentos desabilita o filtro
Ex:
IF LASTKEY() == K_ESC
SET FILTER TO // ou função ou chamada a outra função
ENDIF
SETKEY(K_ESC,{||DBSETFILTER()})
MarceloG
-
supgaroto
- Usuário Nível 2

- Mensagens: 51
- Registrado em: 19 Ago 2003 14:24
- Localização: Rua Aristotoles Fernandes Valdares, 1190
Use o INDEX ao inves de SET FILTER.
Muito + rápido...
Ex:
Em um bando de dados de clientes quero selecionar os clientes bloqueados.
select 1
use clientes shared Alias dbcli
index on codigo tag exemplo to arqtmp for bloqueio=="S"
***
Se for um banco de dados muito grande vc pode usar tb o WILHE no lugar no FOR.
Ex:
Selecionando os cliente da cidade de ARINOS:
vc cria este indice no inicio do programa.
select 1
use clientes shared Alias dbcli
if !file("clientes.cdx") // Verifica se existe o arquivo clientes.cdx
index on cidade tag cidade to clientes
index on codigo tag codigo to clientes
index on nome tag nome to clientes
set index to clientes
endif
dbsetoder("cidade") // ordena por cidade
dbseek("ARINOS") // localiza o primeiro cliente da cidade de Arinos.
index on codigo tag exemplo to arqtmp wilhe(Cidade=="ARINOS") // repete a pesquisa selecionando os clientes da cidade de arinos.
Espero ter ajudado!!!
Muito + rápido...
Ex:
Em um bando de dados de clientes quero selecionar os clientes bloqueados.
select 1
use clientes shared Alias dbcli
index on codigo tag exemplo to arqtmp for bloqueio=="S"
***
Se for um banco de dados muito grande vc pode usar tb o WILHE no lugar no FOR.
Ex:
Selecionando os cliente da cidade de ARINOS:
vc cria este indice no inicio do programa.
select 1
use clientes shared Alias dbcli
if !file("clientes.cdx") // Verifica se existe o arquivo clientes.cdx
index on cidade tag cidade to clientes
index on codigo tag codigo to clientes
index on nome tag nome to clientes
set index to clientes
endif
dbsetoder("cidade") // ordena por cidade
dbseek("ARINOS") // localiza o primeiro cliente da cidade de Arinos.
index on codigo tag exemplo to arqtmp wilhe(Cidade=="ARINOS") // repete a pesquisa selecionando os clientes da cidade de arinos.
Espero ter ajudado!!!
-
Mário Isa
- Usuário Nível 4

- Mensagens: 907
- Registrado em: 07 Jul 2004 13:54
- Localização: Ilha Solteira-sp
Alguém disse:
Se preferir comandos
SET FILTER TO //sem argumentos desabilita o filtro
ou função
DBSETFILTER() //sem argumentos desabilita o filtro
O SET FILTER TO // sem argumentos desabilita o filtro
mas o DBSETFILTER() não desabilita.
O DBSETFILTER() é uma função que retorna uma string que é a condição do filtro. Ex.:
use alguem
set filter to codigo = 1
? dbsefilter() // e o resultado será
"codigo = "1""
Mário
Se preferir comandos
SET FILTER TO //sem argumentos desabilita o filtro
ou função
DBSETFILTER() //sem argumentos desabilita o filtro
O SET FILTER TO // sem argumentos desabilita o filtro
mas o DBSETFILTER() não desabilita.
O DBSETFILTER() é uma função que retorna uma string que é a condição do filtro. Ex.:
use alguem
set filter to codigo = 1
? dbsefilter() // e o resultado será
"codigo = "1""
Mário
cancelar o set filter...
entao eu queria e parar ele antes de terminar de filtrar....tipo o cliente ta fazendo o filter mas quer teclar esc e parar.
nao sei se tem como....acho que nao...mas...
nao sei se tem como....acho que nao...mas...

