Data de Nascimento Maior que Data Base

14/01/2016

1

Boa noite... Preciso que meu sistema iniba o cadastro de crianças com menos de 6 meses usei a função abaixo, mas ao informar qualquer data de nascimento, mesmo datas como 14/02/2015 me é exibida a mensagem, informando que a data está errada.

procedure Tfrm_cadastro.db_edit_nascimentoExit(Sender: TObject);
var I,F:tdate;
begin
if dm_conexoes.tbl_cadastro.FieldByName('data_nascimento').AsDateTime > 15/07/2015
then
begin
ShowMessage('Data inválida. A data de nascimento não pode ser maior que 15/07/2015!');
db_edit_nascimento.Clear;
db_edit_nascimento.SetFocus;
exit;
end
else
begin
f:=(StrToDate('31/03/2016'));
i:=(StrToDate(db_edit_nascimento.Text));
lbl_idade.Caption:= CalculaIdade(f,i);
end;
end;
Responder

Posts

Tenta usar a função MonthsBetween para verificar se entre uma data e outra tem mais de 6 meses.
Responder

15/01/2016

Wilter Porto

Resolvido conforme sua orientação usei:

if dm_conexoes.tbl_cadastro.FieldByName('data_nascimento').AsDateTime > StrToDate('15/07/2015') then
begin
ShowMessage('Data inválida. A data de nascimento não pode ser maior que 15/07/2015!');
db_edit_nascimento.Clear;
db_edit_nascimento.SetFocus;
exit;
end
else
begin
DataF:=(StrToDate('31/03/2016'));
DataI:=(StrToDate(db_edit_nascimento.Text));
lbl_idade.Caption:= CalculaIdade(DataI,DataF);
end;
Responder

15/01/2016

Ronaldo Filho

Bom dia Grande.

Dá uma olhada nesse exemplo, coloquei a mensagem errada na tela, no caso a data tem que ser menos que a da lista, nele eu também estou usando o desenvolvimento do acesso à dados isolando o tratamento dos dados da conexão da base. Essa técnica deixa a velocidade de acesso bem mais rápida e garante segurança durante o manuseio dos dados.


Teste de data usando ClientDataSet com configuração básica
Responder

15/01/2016

Ronaldo Filho

Grande pega esse Link que agora da certo, tinha esquecido de colocar lá a liberação de downloads

Projeto teste - Delphi 7
Responder

15/01/2016

Wilter Porto

Ok. Obrigado.
Responder

15/01/2016

Wilter Porto

tá pedindo login para fazer o download.
Responder

15/01/2016

P2

Wilter, Conseguiu algum progresso ?
Responder

15/01/2016

Wilter Porto

Sim. Já postei acima o resultado.
Responder

15/01/2016

Ronaldo Filho

me manda teu e-mail ai envio pra você, por que o Google Drive deve está "frescando" comigo, kkkkkkk.
Responder

15/01/2016

P2

Então chegou no resultado que precisava ?
Tópico Resolvido ?
Responder

15/01/2016

Wilter Porto

Deu certo era falta de atencao. Loguei.
Responder

15/01/2016

Wilter Porto

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