dbSetIndex [AS]

dbSetIndex [AS]
Author: Eurai
Inclusão: 01/01/2016
Alteração: 27/07/2021

Descrição

Obtêm informações sobre determinada ordem..

 

Sintaxe

dbSetFilter( <cArqIndice> )

 

Parâmetros


Par Nome Tipo Descrição Default Obg Ref
01
cArqIndice
Caracter
Indica o nome do arquivo de índice, com ou sem diretório
     

 

Retorno

Retorno Tipo Descrição
xRet Indefinido
Retorna a informação da ordem requisitada pelo usuário (tipo numérico, se for número de ordens no índice, tipo caracter, se for nome do arquivo de índice. Caso não exista a ordem corrente ou a posição da ordem é inválida, o retorno será nulo ("")

 

Exemplo

#INCLUDE "TOTVS.CH"

Static cCRLF	:= CRLF

User Function dbSetIndex()
Local cDriver	:= __LocalDriver
Local cExtens	:= '.DTC'
Local cNomArq	:= "TESTE" + "9"+StrZero(Seconds(),5,0)
Local cIndArqA	:= Subs(cNomArq,1,7)+"A"
Local cIndArqB	:= Subs(cNomArq,1,7)+"B"
Local cIndArqC	:= Subs(cNomArq,1,7)+"C"
Local aCampos	:= {}


cQuery := cCRLF + "	SELECT  "
cQuery += cCRLF + "		 A1_COD,A1_NOME,A1_MUNC "
cQuery += cCRLF + "	FROM "
cQuery += cCRLF + RetSqlName("SA1") + " SA1 "
cQuery += cCRLF + "	WHERE "
cQuery += cCRLF + " 	SA1.D_E_L_E_T_ <> '*' "


aAdd( aCampos, { "A1_COD"	, "C", TamSX3("A1_COD")[1]	, TamSX3("A1_COD")[2] } )
aAdd( aCampos, { "A1_NOME"	, "C", TamSX3("A1_NOME")[1]	, TamSX3("A1_NOME")[2] } )
aAdd( aCampos, { "A1_MUNC"	, "C", TamSX3("A1_NOME")[1]	, TamSX3("A1_NOME")[2] } )


dbCreate( cNomArq, aCampos, cDriver )
dbUseArea( .T.,, cNomArq, 'TRB', .T., .F. )
IndRegua( 'TRB', cIndArqA,'A1_COD+A1_NOME',,,"Selecionando Registros...")
IndRegua( 'TRB', cIndArqB,'A1_NOME',,,"Selecionando Registros...")
IndRegua( 'TRB', cIndArqC,'A1_MUNC',,,"Selecionando Registros...")





dbClearIndex()

dbSetIndex( cIndArqA + OrdBagExt() )
dbSetIndex( cIndArqB + OrdBagExt() )
dbSetIndex( cIndArqC + OrdBagExt() )

SqlToTrb( cQuery, aCampos, 'TRB' )


TRB->( dbSetOrder( 3 ) )
TRB->( dbSeek( 'SBCAMPO        ' ) )

MsgInfo( TRB->A1_COD, 'UniversoADVPL' )

TRB->( dbCloseArea() )
If File( cNomArq + cExtens )     //Elimina o arquivo de trabalho
	
	Ferase( cNomArq + cExtens )
	Ferase( cIndArqA + OrdBagExt() )
	Ferase( cIndArqB + OrdBagExt() )
	Ferase( cIndArqC + OrdBagExt() )
	
Endif

Return( Nil )

Resultado
dbsetindex_-_resultado_01                      

dbsetindex_-_resultado_02                    

 

 

Informações adicionais

Quando o arquivo de índice possui apenas uma ordem, a mesma é acrescentada na lista e torna-se ativa

Quando o índice possui mais de uma ordem, todas são acrescentadas na lista e a primeira torna-se ativa

Para se utilizar arquivos de extensão padrão do RDD, este dado pode ser omitido no primeiro parâmetro, mas caso contrário deve ser especificado

 

 

Gostou? Compartilhe com seus amigos e deixe um comentário! 😎  

Esse conteúdo te ajudou? Ajude o canal com doação
Compartilhar
Comentários