Duplicidade de registros

04/12/2003

1

meu campo não pode ser chave, e não posso deixar cadastrar nomes iguais, preciso fazer uma rotina de preferência no vento onexit do dbedit, que acuse se existe um nome igual, e volte para o dbedit em mode editável, caso o nome nào exista o cadastro prossiga no próximo dbedit.

pediram para eu fazer isso, mas eu não uso databasename , e não entendi muito bem , pois só uso uma query, etem qr1 e tb1:

Mensagem postada:

vamos assumir que vc está incluindo dados na tabela tb1 e que o nome do campo nome é tb1nome

declare 1 query (vamos chamá-lo qr1) no fromulário e faça no onexit do campo nome

qr1.close;
qr1.sql.clear;
qr1.sql.databasename := tb1.databasename; // vai buscar no mesmo diretório
qr1.sql.add(´select nome ´);
qr1.sql.add(´from ´ + tb1.tablename);
qr1.sql.add(´where (nome =
+ quotedstr(tb1nome.value)
+ ´)´);
qr1.sql.open;
if qr1.recordcount > 0 // encontrou nome
then ´já existe´
qr1.close;



Se alguém entender e puder me ajudar!!!!!


Responder

Posts

04/12/2003

Mente

Isto é praticamente impossível.
Repare que comparar strings é uma tarefa ardua. Basta um espaço a mais no sequência para o conteúdo ser diferente.
Resumindo, não é possível na maioria das vezes, validar compos como nome, razão social, e outros do gênero como UNIQUE.

Sds
laercio@digirio.com.br
www.digirio.com.br
(21) 2233 8967


Responder

04/12/2003

Norotico

Eu falei nome , mas na verdade sào nomes de testes , por xexemplo
P-4545, P-4546 ENTENDEU, por isso que eu não corro esse risco, pois meu campo só aceita 5 caracteres, na verdade é uma especie de código


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira