Página 1 de 1

seek em campos numéricos

Enviado: 16 Ago 2007 11:02
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.

Enviado: 16 Ago 2007 11:12
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 !

Enviado: 16 Ago 2007 13:11
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))

Enviado: 16 Ago 2007 13:55
por MarceloHenrique
OK.
Obrigado pela força.