Página 1 de 1
número de registro en uma tabela indice
Enviado: 20 Out 2019 17:24
por Adalberto
Boa tarde amigos.
Por favor me ajude com o seguinte:
Exemplo:
Clientes.DBF
Zapata // (RECNO() = 1)
Garcia // (RECNO() = 2)
Baqueros // (RECNO() = 3)
INDEX ON Apellido ON Temp
na tabela TEMP ficará
Baqueros // (RECORD 1)
García // (RECORD 2)
Zapata // (RECORD 3)
Eu preciso saber que número de registro tem o sobrenome Baqueros na tabela de índice.
Baqueros // (RECORD 1),
O “RECORD” 1 é o que eu preciso.
Muito obrigado antecipadamente.
Um grande abraço a todos
Adalberto
número de registro en uma tabela indice
Enviado: 20 Out 2019 17:52
por susviela@bol.com.br
Acho que essa função vai te ajudar:
Se eu entendi sua pergunta.
https://harbour.github.io/doc/harbour.html#reccount
--------------------
Li novamente sua pergunta e talvez seja isso que buscas:
Código: Selecionar todos
DBGOTOP()
LOCATE FOR 'Baqueros'$Apellido
IF EOF()
? "Não achei"
ELSE
? RECNO()
ENDIF
.
#Susviela
número de registro en uma tabela indice
Enviado: 20 Out 2019 18:41
por JoséQuintas
Adalberto escreveu:Eu preciso saber que número de registro tem o sobrenome Baqueros na tabela de índice.
Sei lá se entendi...
A pergunta só faz sentido se fosse a posição do índice, porque a do arquivo é só pegar RecNo()
número de registro en uma tabela indice
Enviado: 20 Out 2019 21:00
por Adalberto
Queridos amigos, muito gratos por sua atenção e sua ajuda
É como diz o professor JoséQuintas, a questão é como saber o número do registro, mas no arquivo de índice não do DBF
Aguardo sua ajuda, obrigado a todos.
Abrazos.
Adalberto
número de registro en uma tabela indice
Enviado: 21 Out 2019 10:13
por JoséQuintas
hbmk2 -find ordkey
Núcleo Harbour (instalado):
ordKey()
ordKeyAdd()
ordKeyCount()
ordKeyDel()
ordKeyGoto()
ordKeyNo()
ordKeyRelPos()
ordKeyVal()
O mais provável é que seja OrdKeyNo()
número de registro en uma tabela indice
Enviado: 21 Out 2019 10:15
por Adalberto
Queridos amigos, bom dia.
Para esclarecer minha pergunta, devo dizer que o que preciso é:
Conhecer o número do registro na tabela indexada.
Como sabemos, um registro que está no último na tabela sem indexar pode ser o primeiro na tabela indexada, portanto, preciso saber qual é o número de cada registro com a tabela é idexada.
por favor, desculpe-me se eu não me expressar bem.
Espero sua ajuda, muito obrigado.
Adalberto.
número de registro en uma tabela indice
Enviado: 21 Out 2019 10:17
por susviela@bol.com.br
Interessante a questão, mas ... Teria alguma aplicação para isso ?
Pois na pratica, o que interessa mesmo é os dados da tabela/dbf, então fiquei curioso para saber qual sua real necessidade, e quem sabe criar uma gambiarra, hehehehe.
#Susviela
número de registro en uma tabela indice
Enviado: 21 Out 2019 10:33
por Nascimento
Código: Selecionar todos
local nRec:= 0
sele temp
set order to 1
seek Baqueros
if (found())
nRec := Recno()
endif
if nrec != 0
alert(rtrim(str(nrec)))
endif
se entendi bem deve ser isso que vc quer
número de registro en uma tabela indice
Enviado: 21 Out 2019 10:36
por Adalberto
Meus caros,
Exemplo:
Código: Selecionar todos
Personas.DBF
Zapata // (RECNO() = 1)
Garcia // (RECNO() = 2)
Baqueros // (RECNO() = 3)
//
LOCAL nRegistro:= 0
SELECT 1 // Personas
USE Personas
INDEX ON Nombre TO Personas
DBGOTOP()
WHILE !EOF()
nRegistro++
? Nombre, nRegistro
wait
SKIP
ENDDO
DBCLOSEAREA()
RETURN NIL
Resultado:
Baqueros 1
Garcia 2
Zapata 3
Então, eu recebo o que preciso, agora sei qual é a posição de cada registro na tabela indexada.
Mas eu gostaria de conseguir isso sem passar por toda a tabela.
Como posso obter a posição de
um registro sem percorrer a tabela inteira?
número de registro en uma tabela indice
Enviado: 21 Out 2019 11:04
por Ranier
Adalberto escreveu:Como posso obter a posição de um registro sem percorrer a tabela inteira?
O Jose Quintas ja respondeu a sua pergunta:
ordKeyNo()
Precisa ler melhor as respostas...
número de registro en uma tabela indice
Enviado: 21 Out 2019 11:08
por Adalberto
Resolvido !!
A todos os amigos e professores do fórum: Muito obrigado, Deus os abençoe.
Maestro JoséQuintas, a função OrdKeyNo() é o que eu estava procurando, ela resolve exatamente.
Mestre Susviela:
Uso o TBBrowse e, para posicionar em um determinado registro, faço-o com:
SETPROPERTY (cWinName, 'oBrowAseg', 'Value', nPos)
Assim:
SEEK cNombre // ex. 'Baqueros'
nRecNo:= RECNO() // 133 na tabele sem indexar
nPos:= OrdKeyNo() // 4351 na tabela INDEXADA
SETPROPERTY ('Janela', 'oBrowNom', 'Value', nPos)
Agradeço a todos.
Adalberto