seek em campos numéricos

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

MarceloHenrique
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 06 Jul 2004 09:59
Localização: São Paulo - SP

seek em campos numéricos

Mensagem por MarceloHenrique »

Não programo há muito tempo e estou precisando mudar algumas coisas em um programa em clipper.
Tenho 2 campos numéricos. Como fazer a busca indexada usando estes 2 campos?
Se fosse campo caractere, faria CHAVE1=campo1+campo2 e depois SEEK CHAVE1; e com campos numéricos, como concatenar os 2 campos para a busca?
Só para informação, estou usando a SIX2 com índices NSX.
Obrigado e abraço a todos.
ederxc
Usuário Nível 4
Usuário Nível 4
Mensagens: 619
Registrado em: 15 Set 2006 08:40
Localização: Pedreira -SP-

Mensagem por ederxc »

Pow , transforma os campos em caracteres

Código: Selecionar todos

ex:

codigo=1234 
data=01/01/2007

chave=(str(codigo,4)+dtos(data))
if dbseek(chave)


Obs>> Para usar dessa forma voce precisa ter um indice criado da mesma forma , caso contrario , não ira funcionar !
C:\Xharbour\Xdev\Fw\VSX
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Mensagem por gvc »

Crie os indices com os campos numericos transformados em caracter.
Quando for fazer a pesquisa, transforme os valores numericos em caracter tb.

index on str(campo1, 5) + str(campo2, 6, 1) to arquivo1

dbseek(str(var1, 5) + str(var2, 6, 1))
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
MarceloHenrique
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 06 Jul 2004 09:59
Localização: São Paulo - SP

Mensagem por MarceloHenrique »

OK.
Obrigado pela força.
Responder