Seta a condição e o escopo para a ordem corrente.
Sintaxe
ORDCONDSET([ cForCond ],,,,[ bEval ],,,,,, [ lDescendente ],,,,) –> Lógico
Argumento | Obrigat. | Tipo | Descrição |
cForCond | Não | C | Expressão na forma textual a ser resolvida para verificar se o registro em questão está dentro do escopo definido |
bEval | Não | Bloco de Código | Expressão na forma executável a ser resolvida para cada registro processado. Este bloco deve retornar tipo lógico |
lDescendente | Não | L | Especifica se a ordem deve ser crescente ou decrescente |
Retorno | Descrição |
.F. | Não conseguiu setar o filtro |
.T. | Filtro setado com sucesso |
Descrição
Esta função é utilizada para setar uma ordem de registro que esteja dentro de um escopo e de uma condição especificada. Se todos os parâmetros forem omitidos serão aceitos todos os registros da ordem.
Através do primeiro parâmetro (cForCond) é possível especificar o escopo ao qual o registro deve pertencer para estar dentro do filtro. Através do parâmetro bEval, pode-se definir um bloco de código que deve retornar .T. para que o registro pertença ao filtro a ser setado.
Se o parâmetro lDescendente for omitido, a ordem estará crescente, mas se tiver valor .T. será decrescente.
Exemplo
Este exemplo mostra como se pode usar o ORDCONDSET para executar um filtro com idade entre 20 e 30 anos e nome Joao:
USE Cliente VIA “DBFCDX” NEW
ORDCONDSET(“Idade>20 .AND. Idade<30”,,,,{||Nome = “Joao”})