GARANTIR DESCONTO

Fórum Comando Locate #179477

03/09/2003

0

Olá pessoal, preciso fazer o seguinte: a pessoa vai informar um valor por ex.: RS que dentro da tabela UF corresponde ao numero 2 precisava fazer isso acho q seja com o locate mas nao lembro do procedimento alguem pode me ajudar, e outra coisa tb quero validar o que a pessoa digitou tipo assim:

if tabela.locate(´descricao´,variavel) = true then
faça isso
else
faça aquilo

so nao sei os parametros do locate.. obrigado..


Zacca

Zacca

Responder

Posts

03/09/2003

Vinicius2k

para pesquisa exata :
if table1.locate(´NOME_DO_CAMPO´,edit1.text,[]) then
..... else.....

para pesquisa aproximada :
if table1.locate(´NOME_DO_CAMPO´,edit1.text,[LoPartialKey]) then
..... else.....

t+


Responder

Gostei + 0

03/09/2003

Koplin

Em complemento a resposta excelente do colega:

[loPartialKey,loCaseInsensitive]

Ambos parâmetros são opcionais. o 1º faz a busca procurando ocorrencias que correspondam parcialmente a pesquisa digitada e o 2º torna a pesquisa insesivel a caixa (maiusculas ou minusculas). Nenhum parâmetro definido torna a pesquisa radicalmente exata.

Existe ainda a possibilidade de buscar mais de uma coluna simultaneamente.
Este código foi extraido do help do Delphi e ilustra esta situação.

with CustTable do
Locate(´Company;Contact;Phone´, VarArrayOf([´Sight Diver´, ´P´, ´831-431-1000´]), [loPartialKey,loCaseInsensitive]);

Esta pesquisa procura por ocorrencias em tres colunas: Company, Contact e Phone

Espero ter ajudado. Boa sorte.


Responder

Gostei + 0

03/09/2003

Vinicius2k

boa koplin :D, mas soh um adendo:

zacca, se vc precisar utilizar um pesquisa com chave concatenada (VarArrayOf), acrescente ´Variants´ à sua lista de uses, ao contrário o compilador não reconhecerá a função...

e um adendo à minha resposta e à resposta do koplin : o método locate na arquitetura Client/Server eh MORTAL quanto ao desempenho... se a base for grande prefira usar uma Query com ´where CAMPO = :parametro´´...

T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar