Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

BrunoHP

Verifica a idade e soma quantos maiores e menores

Recommended Posts

Boa Tarde!

 

Tenho essa função abaixo que mostra a idade, bom até ai tranquilo so que eu precisava pegar do BD a DATA DE NASCIMENTO verificar se ele é de MENOR ou MARIOR de idade e me trazer quantos MAIORES e MENORES de idade tem cadastrado.

 

Alguem poderia me dar essa força?

 

Desde já agradeco

 

'Função que vai calcular a idade
function idade(datanascimento)
	ano_atual=year(date())'Extrai ano do atual
	mes_atual=month(date())'Extrai mes atual
	ano_niver=year(datanascimento)'Extrai ano do nascimento
	mes_niver=month(datanascimento)'Extrai mês do nascimento
	dif_ano=cint(ano_atual)-cint(ano_niver)'Faz a diferença dos anos
	dif_mes=cint(mes_atual)-cint(mes_niver)'Faz a diferença dos meses
	'Verifica se a diferença dos meses é negativa, 
	'se for e pq ainda não fez aniversário
	if (dif_mes<0) then
		idade=cint(dif_ano)-1
	else
		idade=dif_ano
	end if
end function

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode retornar direto do SQL.

 

Seque exemplo para SQL Server que pode ser adapatado para outros bancos de dados:

declare @tab table (dt_nasc datetime)

insert into @tab (dt_nasc) values ('2000/01/12')
insert into @tab (dt_nasc) values ('1982/04/22')
insert into @tab (dt_nasc) values ('2001/05/07')
insert into @tab (dt_nasc) values ('1992/09/02')
insert into @tab (dt_nasc) values ('2000/11/28')
insert into @tab (dt_nasc) values ('1966/07/05')
insert into @tab (dt_nasc) values ('1970/03/11')

select *,datediff(yy,dt_nasc,getdate()) from @tab

select (select count(dt_nasc) from @tab where datediff(yy,dt_nasc,getdate()) < 18) as Menor,
	 (select count(dt_nasc) from @tab where datediff(yy,dt_nasc,getdate()) >= 18) as Maior

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, utilize o DateDiff, ele retorna a diferença (em anos, dias, etc) entre datas, segue exemplo

a = DateDiff("yyyy", DataDeNascimento, date()) 
response.write a

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei assim e nada

 

<%
sqlSexM = "Select count(sexo) as soma from cad_prop_admissao_filhos where cod_profano='"&trim(request("id"))&"' and sexo='M'"
set rscountSexM=conn.execute(sqlSexM)
sqlMenor = "Select count(Data_nascimento) as soma from cad_filhos where cod_profano='"&trim(request("id"))&"' and DateDiff('yyyy', Data_nascimento, date())"
set rscountMenor=conn.execute(sqlMenor)
%>
Sexo Masculino: <%=rscountSexM("soma")%>
Menor: <%=rscountMenor("soma")%>

Ele está contando certo o sexo masculino mais se ele é de menor ou maior não

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem um exemplo de cálculo de idade no lab. de script, dá uma procurada e depois você apenas usa o DateDiff

 

A função para calculo está no primeiro post não estou conseguindo éfazer a soma de qtos menores e maiores de idade

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função para calculo está no primeiro post não estou conseguindo éfazer a soma de qtos menores e maiores de idade

ela esta gerando algum erro ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função para calculo está no primeiro post não estou conseguindo éfazer a soma de qtos menores e maiores de idade

ela esta gerando algum erro ???

 

Não ele apenas não me informa quantos menores e maiores tem cadastrado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vê se ajuda

 

<%
'Função que vai calcular a idade
function idade(datanascimento)
	ano_atual=year(date())'Extrai ano do atual
	mes_atual=month(date())'Extrai mes atual
	ano_niver=year(datanascimento)'Extrai ano do nascimento
	mes_niver=month(datanascimento)'Extrai mês do nascimento
	dif_ano=cint(ano_atual)-cint(ano_niver)'Faz a diferença dos anos
	dif_mes=cint(mes_atual)-cint(mes_niver)'Faz a diferença dos meses
	'Verifica se a diferença dos meses é negativa, 
	'se for e pq ainda não fez aniversário
	if (dif_mes<0) then
		idade=cint(dif_ano)-1
	else
		idade=dif_ano
	end if
end function

'Chama a função, enviando a data de nascimento.
'Então é retornado a idade
Response.Write(idade(cdate("08/1/1985")))
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

vê se ajuda

 

<%
'Função que vai calcular a idade
function idade(datanascimento)
	ano_atual=year(date())'Extrai ano do atual
	mes_atual=month(date())'Extrai mes atual
	ano_niver=year(datanascimento)'Extrai ano do nascimento
	mes_niver=month(datanascimento)'Extrai mês do nascimento
	dif_ano=cint(ano_atual)-cint(ano_niver)'Faz a diferença dos anos
	dif_mes=cint(mes_atual)-cint(mes_niver)'Faz a diferença dos meses
	'Verifica se a diferença dos meses é negativa, 
	'se for e pq ainda não fez aniversário
	if (dif_mes<0) then
		idade=cint(dif_ano)-1
	else
		idade=dif_ano
	end if
end function

'Chama a função, enviando a data de nascimento.
'Então é retornado a idade
Response.Write(idade(cdate("08/1/1985")))
%>

É esse mesmo que eu tenho apenas não postei o Response.Write... bom ele traz a idade até ai tudo bem... mais o que eu não estou conseguindo fazer é! Calcular quantos filhos são maior e menor de idade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa o DateDiff

Compartilhar este post


Link para o post
Compartilhar em outros sites

pega o resultado da função e usa o datediff junto

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.