Ir para conteúdo
Fórum Script Brasil
  • 0

Para Quem Sabe! - Espero Q Aki Tenha Resposta


Guest Richardson Lourenço

Pergunta

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.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 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.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...