Procurar em indices compostos? (IDX)

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Procurar em indices compostos? (IDX)

Mensagem por ANDRIL »

Ola galera!

Nunca utilizei indices compostos porem estou precisando localizar o numero de telefone do cliente e nao quero criar um indice para cada campo de telefone.

No sistema o cliente informa 3 telefones gostaria de compor um filtro assim :

index on tel_res+tel_com+tel_cel to telcli

Quando o cliente informar o telefone a procura devera ser feita primeiro no campo TEL_RES caso nao encontre neste campo a procura ira para o campo TEL_COM e etc.

UTILIZO: SEEK "9998-9999"

O comando localiza apenas os telefones no campo TEL_RES. Como devo fazer para que o comando tente localizar nos outros campos do indice?

Abraços a todos
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

Mensagem por Dudu_XBase »

:? Infelizmente...desconheço seria bom...tb pra mim.....tem q criar um indice ou tag para cada campo...
elabore uma função...tipo verfone(nro)...q realiza a pesquisa nas 3 tags...e retorna...


________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Procurar em indices compostos? (IDX)

Mensagem por Maligno »

ANDRIL escreveu:Como devo fazer para que o comando tente localizar nos outros campos do indice?
Usando a busca por índice você só tem duas alternativas, viáveis apenas se você usa os índices compostos da LIB SIX, por exemplo:

1) Criar uma chave para cada número. Isso você não quer, mas se o cadastro não for grande, porquê não?

2) Usar a função (existente na LIB SIX) sx_WildSeek(), que permite a busca por uma substring contida em qualquer posição da chave. Se quiser, veja a documentação a respeito no NG da biblioteca. Se não a tiver, faça uma busca nas mensagens do fórum. Certamente ela poderá ser encontrada no site de algum colega.

[]'s
Maligno
http://www.buzinello.com/prg
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Mensagem por ANDRIL »

Ola galera!

Obrigado pelas informações acho que vou ter que criar indices para cada numero mesmo!

Muito obrigado

Abraços
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Responder