DbSeek

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

PITERGALDIANO
Usuário Nível 2
Usuário Nível 2
Mensagens: 91
Registrado em: 28 Nov 2003 08:48

DbSeek

Mensagem por PITERGALDIANO »

Bom dia a Todos

Preciso fazer um pesquisa em vários campos... por exemplo

cCaixa
cOperador
cPassagem

Tenho que abrir este banco de dados e fazer uma consistência de forma que ele procure se já existe algum registro cujo cCaixa, cOperador e cPassagem já existam

Como faço isso sem ser pelo Locate? é possível

Obrigado
Piter Galdiano
Programador Clipper
Alessandro
Usuário Nível 3
Usuário Nível 3
Mensagens: 141
Registrado em: 07 Jul 2004 09:39
Localização: Santo Antonio da Platina-PR

Mensagem por Alessandro »

Você precisa ter um índice com os campos que quer achar

no seu caso cCAIXA+cOPERADOR+cPASSAGEM, e claro que todos devem ser do mesmo tipo CHAR.

quando for localizar, vc tem que setar o índice e execuar o Seek
sendo

SEEK cCAIXA+cOPERADOR+cPASSAGEM
ou
ARQUIVO(DBSeek(cCAIXA+cOPERADOR+cPASSAGEM))

if !Eof() // Achou o registro


Value

Alessandro
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Mensagem por alaminojunior »

Olá meu caro, eu faria da seguinte forma:
Criaria um indice assim:
index on cCaixa+cOperador+cPassagem to Arq.Ntx ou
index on cCaixa+cOperador+cPassagem tag consist to Arq.Cdx,
daí então é só fazer a pesquisa com o comando Seek ou função DbSeek() e já Elvis ! :))
Responder