Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

Versão 1 Próxima »

Função: DBSeek

Localiza um registro com determinado valor da expressão de chave de índice.

DBSeek ( < xExp>, [ lSoftSeek], [ lUltimo] ) --> lRet

NomeTipoDescriçãoObrigatórioReferência
xExpQualquerIndica o valor da chave que será encontrada do tipo caracter. Observação: Todos os tipos de expressão do índice com exceção do índice com apenas um campo do tipo numérico. X
lSoftSeekLógicoIndica se, verdadeiro (.T.), posiciona no primeiro registro com expressão de chave maior que o valor procurado; caso contrário, falso (.F.) (Valor padrão).
lUltimoLógicoParâmetro não suportado pela linguagem AdvPL. Mantido por compatibilidade.
    lRet(logico)
  • Retorna verdadeiro (.T.), se encontrar um registro com o valor especificado; caso contrário, falso (.F.).
  • Antes de chamar a função DBSeek(), deve-se certificar de que existe uma ordem ativa no momento com os campos que se deseja pesquisar o valor. Se a expressão possuir apenas um campo numérico, o primeiro parâmetro <xExp> deve ser do tipo numérico, mas nos demais casos deve-se utilizar um valor do tipo caracter para este parâmetro (mesmo que sejam apenas dois campos numéricos ou do tipo data).
  • Quando o segundo parâmetro <lSoftSeek> for especificado como verdadeiro (.T.), mesmo que a expressão pesquisada não encontrar nenhum registro com este valor, a tabela será posicionada no próximo valor maior que o especificado no primeiro parâmetro <xExp>, mas mesmo posicionando no próximo valor essa função retornará falso (.F.) (pois não encontrou).

    Quando não for especificado este valor ou estiver configurado falso (.F.) e falhar o valor da pesquisa, a tabela será posicionada em LastRec +1 e será setada a flag de EOF.

    Se o terceiro parâmetro <lUltimo> for especificado com valor verdadeiro (.T.), a função posiciona a tabela no último registro com o valor, ou falso (.F.), será posicionada na primeira ocorrência.
//Este exemplo, apresenta como utilizar a função DBSeek() para busca de valores numéricos.USE Clientes NEWORDListADD ("/teste/ind1.cdx") // Expressão é Num (campo numérico)DBSeek(100)                    // Retorna: .F.EOF()                          // Retorna: .T.DBSeek(100,.T.)                // Retorna: .F.EOF()                          // Retorna: .F. (pois o softseek posicionou no próximo registro)//Este exemplo, apresenta como utilizar a função DBSeek() para percorrer todos os registros//de Clientes com o nome João e vencimentos a partir de Janeiro de 2001.USE Clientes NEWORDListADD ("/teste/ind2.cdx") // Expressão é Nome+Venc (campo caracter + data)DBSEEK("joao200101",.T.)       // Procura a primeira ocorrência de Nome "joao" e vencimento maior que Janeiro de 2001WHILE !EOF() .AND. Nome == "joao"DBSkip()ENDDO 
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server

  • Sem rótulos