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.
seek em campos numéricos
Moderador: Moderadores
-
MarceloHenrique
- Usuário Nível 1

- Mensagens: 30
- Registrado em: 06 Jul 2004 09:59
- Localização: São Paulo - SP
Pow , transforma os campos em caracteres
Obs>> Para usar dessa forma voce precisa ter um indice criado da mesma forma , caso contrario , não ira funcionar !
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
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))
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}
{POG - Programação Orientada a Gambiarra}
-
MarceloHenrique
- Usuário Nível 1

- Mensagens: 30
- Registrado em: 06 Jul 2004 09:59
- Localização: São Paulo - SP

