• 0
Sign in to follow this  
Guest Richardson Lourenço

Para Quem Sabe! - Espero Q Aki Tenha Resposta

Question

Guest Richardson Lourenço

ESTOU MONTANDO UM CADASTRO SIMPLES ONDE ESTOU USANDO TRES CAMPOS EM UMA TABELA PARADOX: CODIGO, NOME, E CPF.

NO FORM DE CADASTRO ESTOU USANDO UM DBGRID E 3 DBEEDIT ALÉM DE DOIS BOTÕE SALVAR E CANCELAR.

COMO FAÇO PARA quando EU CLICAR NO BOTÃO SALVAR ELE ANTES DE INCLUÍR O REGISTRO ELE VERIFIQUE SE já ESXISTE alguém COM O CPF IGUAL AO Q ESTA PRESTES A SER CADASTRADO.

A BRONCA MAIOR É QUANDO NESSE MESMO FORM EU QUERO FAZER ALTERAÇÃO NOS REGISTRO,POIS quando EU SALVAR AS ALTERAÇÕES EU TENHO Q VERIFICAR DENOVO SE O CPF ESTÁ IGUAL.

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Faça o seguinte:

Substitua o dbedit respectivo ao cpf por um maskedit e ponha o seguinte código no OnExit dele:

procedure TForm1.MaskEdit1Exit(Sender: TObject);

var cod : string;

Begin

if BtnCancelar.Focused = false then begin

DataModule.Tabela.Cancel;

if (trim(MaskEdit1.text) <> '') and then begin

cod := MaskEdit1.text;

if DataModule.Tabela.FindKey([cod]) then begin

Showmessage('CPF já cadastrado.');

MaskEdit1.SetFocus;

end

else begin

MaskEdit1.Enabled := false;

DBEdit2.SetFocus;

DataModule.Tabela.Append;

end;

end;

end;

end;

no evento OnChange do maskedit ponha o seguinte:

DataModule.Tabela.Cancel;

if (trim(Maskedit1.text) <> '') then

cod := Maskedit1.text;

if (DataModule.Tabela.FindKey([cod])) then begin

BtnOK.Enabled := false;

end;

if (DataModule.Tabela.FindKey([cod])) or (MaskEdit1.Text = '') then begin

BtnOK.Enabled := False;

end

else begin

BtnOK.enabled := True;

end;

DataModule.Tabela.Append;

end;

o primeiro código verifica na saída do maskedit e o segundo código verifica no momento em que você escreve no maskedit se já existe um código igual aquele que está escrito e se estiver ele não desabilita o botão ok. Outra coisa, no botão ok inclua uma linha de código assim:

DataModule.TabelaCPF := MaskEdit1.Text; //faça a devida conversão caso seja necessária.

Quando for editar o registro e chamar o formulário faça o seguinte:

MaskEdit1.text := DataModule.TabelaCPF.Value;

No evento Onshow do formulário desabilite o botão ok, e quando for editar um registro desabilite o maskedit para que o cpf não possa ser alterado e não caia na rotina do OnChange nem do OnExit pois essas rotinas criam um novo registro (Tabela.Append)

----------------------------

Galera estive meio sumido do fórum porque eu tava até a tampa de trabalho, virando noite o os c****** trabalhando, tava f***, mas fazer o q né, tenho q ganhar dinheiro, estou voltando aos poucos agora.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this