Pesquisa com FindKey

07/03/2003

0

Bem, o meu problema é o seguinte, eu tenho um cadastro e em um dos campos eu naum posso repetir as datas, intaum preciso fazer o seguinte, depois da data digitada em um dbedit, eu preciso procurar por essa data no banco de dados e verificar se já existe, se existir eu dou uma mensagem e volto o foco no dbedit de novo, se caso naum existir a data, passa pelo dbedit normal e continua o cadastro.

Se alguém puder me ajudar e tiver alguma coisa parecida

Grato :cry:


Kduribeiro

Kduribeiro

Responder

Posts

07/03/2003

Anonymous

Esse campo data é uma chave primaria da tabela ou não? Se não for o findkey não deve funcionar legal, então tente usar o locate ou um componente SQL (select count(*) contador from table where data = dbEdit1.text). Se o campo contador do SQL for > 0, voce dá a msg e volta o foco para onde quiser, ex dbedit1.SetFocus;
Espero ter ajudado
Mariangela


Responder

07/03/2003

Anonymous

O seu Campo tipo data, deve ser Chave Primária.


Qualquer dúvida, mande um @mail e tentarei responder o mais rápido possível.


Wiltefran Silva - Meggasoft Informática
Balsas(MA) - Meggasoft@bol.com.br / wiltefran@bol.com.br
Fone: (0**99)541-5621 / (0**99)541-2918


Responder

07/03/2003

Ggean

Oi, pessoal
O problema eu acho que é porque se ele esta digitando dentro de DbEdit a tabela ja fica em modo de Insercao ou Edicao quando ele usa o comando FindKey ou Locate a tabela automaticamente ja dá um Post pra poder executar o comando de busca, e como ja foi postado o valor o resultado da busca sempre vai ser verdadeiro. Eu acho que o ideal seria pesquisar fora do Dbedit e depois passar esse valor para a tabela, Pelo menos foi assim que resolvi quando tive este problema.

Boa Sorte!!
Gean Carlos :roll:


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar