Foros del Web » Programando para Internet » ASP Clásico »

calcular edad en meses de una persona

Estas en el tema de calcular edad en meses de una persona en el foro de ASP Clásico en Foros del Web. tengo una pagina asp, en esta pues pregunto por el codigo de una persona determinada y pues investigo cuantos años tienes para ello cuento con ...
  #1 (permalink)  
Antiguo 20/01/2005, 14:02
Avatar de Stickmaster2004  
Fecha de Ingreso: septiembre-2004
Ubicación: Barranquilla
Mensajes: 568
Antigüedad: 19 años, 8 meses
Puntos: 0
calcular edad en meses de una persona

tengo una pagina asp, en esta pues pregunto por el codigo de una persona determinada y pues investigo cuantos años tienes para ello cuento con un campo llamado fec_nac que es la fecha de nacimiento y pues la logro extraer de la base de datos y uso la funcion datediff para ver los meses que tiene la persona, lo curioso es que si lo hace pero a veces tiene errores por ejemplo, si por ejemplo en la pagina html coloco que nacio el 31 de diciembre del 2004 y esta es la fecha actual "20 de enero del 2005" me dice que tiene 1 mes de nacido y yo quiero que diga que tiene 0 meses como lo arreglo aqui esta el codigo a ver si me pueden hechar una ayudadita

<% option explicit %>
<% if Session("autorizacion")<>1 then
response.redirect "contraseña.asp"
end if%>
<!-- Manual de ASP de WebEstilo.com -->
<html>
<head>

<script language="JavaScript1.1">
var specifyimage=new Array() //Your images
specifyimage[0]="Imagenes/bebe.jpg"
specifyimage[1]="Imagenes/pediatra.jpg"
specifyimage[2]="Imagenes/bebecito.jpg"

var delay=2000 //3 seconds

//Counter for array
var count =1;

var cubeimage=new Array()
for (i=0;i<specifyimage.length;i++){
cubeimage[i]=new Image()
cubeimage[i].src=specifyimage[i]
}

function movecube(){
if (window.createPopup)
cube.filters[0].apply()
document.images.cube.src=cubeimage[count].src;
if (window.createPopup)
cube.filters[0].play()
count++;
if (count==cubeimage.length)
count=0;
setTimeout("movecube()",delay)
}

window.onload=new Function("setTimeout('movecube()',delay)")
</script>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>



<style type="text/css">
<!--
.Estilo1 {
color: #008000;
font-size: large;
}
.Estilo5 {font-size: small}
.Estilo6 {font-size: 18px}
-->
</style>
<img src="Imagenes/medico.gif" name="cube" width="150" height="120" border=0 style="filter:progid:DXImageTransform.Microsoft.St retch(stretchStyle='PUSH')">

<title>Consulta de Paciente del Programa de Esquema de Vacunacion en el Area de Promocion y Prevencion en Salud Servir S.A</title>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
<style type="text/css">
<!--
.Estilo1 {
color: #008000;
font-weight: bold;
}
.Estilo2 {color: #0033FF}
.Estilo4 {color: #0033FF; font-weight: bold; }
.Estilo7 {font-size: 18}
.Estilo8 {font-size: 24px}
.Estilo9 {font-size: 20px}
.Estilo10 {font-size: 21px}
-->
</style>
</head>
<body bgcolor=skyblue>
<div align="right">
<b><font color="#0033FF"> </font></b>



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0053)http://www.cicei.com/gsi/tutorial_javascript/cap8.htm -->
<HTML><HEAD>
<TITLE>Aplicaciones práticas</TITLE>
<hr>
<b></b>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<div align="right">
<hr>
<div id="Layer1" style="position:absolute; width:242px; height:20px; z-index:4; left: 538px; top: 16px;"> <b><font color="#0033FF"><%=FormatDateTime(Now, vbLongDate)%></font></b></div>
<b></b>









<br>
</div>
<div id="Layer3" style="position:absolute; width:442px; height:54px; z-index:3; left: 173px; top: 98px;">
<div align="center" class="Estilo1">
<div align="left"><li class="Estilo2 Estilo5">Vacunas que no se han aplicado al Paciente:</li>
<font color="green" face="comic" sans="sans" ms="ms"><br>&nbsp;&nbsp;&nbsp;
<%
response.write session("jaja") %>&nbsp;
<%
response.write session("gato") %>&nbsp;
<%
response.write session("perro") %>&nbsp;
<%
response.write session("chivo") %>&nbsp; </div>
</div>
</div>

<h1><font face= comic sans ms color=green size=5></font><center>
<div id="Layer2" style="position:absolute; width:617px; height:58px; z-index:2; left: 159px; top: 39px; font-size: large;">
<div align="center" class="Estilo6"><span class="Estilo7"><span class="Estilo6"><span class="Estilo8"><span class="Estilo9"><span class="Estilo10"><font color="green" face="comic" sans="sans" ms="ms"><strong>Consulta de Paciente del Programa de Esquema de Vacunacion en el Area de Promocion y Prevencion en Salud</strong></font> <font color="green" face="comic" sans="sans" ms="ms"><strong> Servir S.A</strong><strong></strong></font><font color="green" face="comic" sans="sans" ms="ms"><strong></strong></font></span></span></span></span></span></div>
</div>

</center></h1>
<div align="left">
<%
Dim Conn,SQL, RS,Edad
Dim a,b,f:Date
s=Session("Color")
a=session("jaja")


v=session("codiaja")

Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject ("ADODB.RecordSet")

Conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};Server=127.0.0.1;uid=root;DataBase=datos1"
Conn.Open



SQL="SELECt fec_nac from usuario where codigo='" & v & "' "

Set RS=ConN.Execute(SQL)

f=RS.Fields("fec_nac")

Edad = DateDiff("m",f,date)

cosas=Edad
Conn.Close
set RS = nothing
set Conn = nothing

%>

<span class="Estilo4">Vacunas para la edad:</span><br>
<br>

<%
Dim oConn,strSQL, objRS,i,j,color,s,v,cosas

s=Session("Color")





Set oConn = Server.CreateObject("ADODB.Connection")
Set objRS = Server.CreateObject ("ADODB.RecordSet")

oConn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};Server=127.0.0.1;uid=root;DataBase=datos1"
oConn.Open



strSQL="SELECt * from det_vacuna where vacuna not in(select codi from det1_vacuna det1 where codigo='" & v & "') and tiempo='" & cosas & "'"

Set objRS=OConN.Execute(strSQL)





%>
<CENTER>

</div>
<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=2 text=green>
<TR><TD><span class="Estilo4">&nbsp;</span> <center class="Estilo4"><b><font face= comic sans ms>Vacunas</font><b></center></TD><TD><span class="Estilo4">&nbsp;</span> <center class="Estilo4"><b>
<center>
<font face="comic" sans="sans" ms="ms">Numero de Dosis</font>
</center>
</center></TD><TD><span class="Estilo4">&nbsp;</span> <center class="Estilo4"><b>
<center>
<font face="comic" sans="sans" ms="ms">Estado</font>
</center>
</center> </td></tr>

<%




while (not objRS.Eof)


Response.Write("<tr bgColor=" & color & "><td>&nbsp;" & "<center>" & objRS("nom_vacuna") & "</td><td>&nbsp;<center>" & objRS("num_dosis") & "<center>" & "</td><td>&nbsp;" & "<center>" & "<input name=button type=button onClick=""javascript:Secundaria('ordenvacu.asp?ij= " & objRS("nom_vacuna") & "&ik=" & objRS("num_dosis") & "&il=" & objRS("cod_vacun") & "&im=" & objRS("vacuna") & " ');close();"" value=""Orden de Vacunacion"">" & "</td></tr>")


objRS.MoveNext
wend



oConn.Close
set objRS = nothing
set oConn = nothing

%>
</table>
<br>
<br>


<%


s=Session("Color")





Set oConn = Server.CreateObject("ADODB.Connection")
Set objRS = Server.CreateObject ("ADODB.RecordSet")

oConn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};Server=127.0.0.1;uid=root;DataBase=datos1"
oConn.Open



strSQL="SELECt * from det_vacuna where vacuna not in(select codi from det1_vacuna where codigo='" & v & "') "

Set objRS=OConN.Execute(strSQL)

%>
<CENTER>

</div>
<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=2 text=green>
<TR><TD><span class="Estilo4">&nbsp;</span> <center class="Estilo4"><b><font face= comic sans ms>Vacunas</font><b></center></TD><TD><span class="Estilo4">&nbsp;</span> <center class="Estilo4"><b>
<center>
<font face="comic" sans="sans" ms="ms">Numero de Dosis</font>
</center>
</center></TD><TD><span class="Estilo4">&nbsp;</span> <center class="Estilo4"><b>
<center>
<font face="comic" sans="sans" ms="ms">Estado</font>
</center>
</center> </td></tr>
<%

while (not objRS.Eof)
Response.Write("<tr bgColor=" & color & "><td>&nbsp;" & "<center>" & objRS("nom_vacuna") & "</td><td>&nbsp;<center>" & objRS("num_dosis") & "<center>" & "</td><td>&nbsp;" & "<center>" & "<input name=button type=button onClick=""javascript:ventanaSecundaria('ordenvacu. asp?ij=" & objRS("nom_vacuna") & "&ik=" & objRS("num_dosis") & "&il=" & objRS("cod_vacun") & "&im=" & objRS("vacuna") & " ');close();"" value=""Orden de Vacunacion"">" & "</td></tr>")

objRS.MoveNext
wend


oConn.Close
set objRS = nothing
set oConn = nothing

%>

</table>
<HEAD>
<script language="JavaScript">
function ventanaSecundaria (URL){
window.open(URL,"ventana1","width=500, height=450, scrollbars=no, menubar=no, location=no, resizable=no,toolbar=no")

}

</script>

<script language="JavaScript">
function Secundaria (URL){
window.open(URL,"ventana1","width=500, height=450, scrollbars=no, menubar=no, location=no, resizable=no,toolbar=no")

}

</script>


</HEAD>
<div id="Layer4" style="position:absolute; width:770px; height:18px; z-index:5; left: 6px; top: 160px;">

</div>
</body>
</html>
__________________
Solo el que se basa en conocimiento basico y cultiva el aprendizaje obtendra sabiduria

Última edición por Stickmaster2004; 20/01/2005 a las 14:04
  #2 (permalink)  
Antiguo 20/01/2005, 17:40
 
Fecha de Ingreso: noviembre-2003
Ubicación: México
Mensajes: 49
Antigüedad: 20 años, 7 meses
Puntos: 0
Sonrisa

Hola,

En esta pagina tengo una pequeña rutina que te permite hacer facilmente el calculo de la edad de una persona.

http://www.tutoriales.com.mx/directo...id_categoria=7

Espero que te sirva.


Saludos,
__________________
Zolw
Entra a http://tutoriales.xlso.com puedes encontras tips, scripts y ayudas para ASP, ASP.NET, PHP, VB, HTML, DHTML, Flash, JavaScript y más...
MÉXICO
  #3 (permalink)  
Antiguo 20/01/2005, 18:07
Avatar de Stickmaster2004  
Fecha de Ingreso: septiembre-2004
Ubicación: Barranquilla
Mensajes: 568
Antigüedad: 19 años, 8 meses
Puntos: 0
Gracias

en buena hora tio, me sirvio el ejemplillo que me haz mandado o asesorado, gracias a ti, tambien encontre otros si quieren los puedo anexar aqui si los necesitan, chao.
__________________
Solo el que se basa en conocimiento basico y cultiva el aprendizaje obtendra sabiduria
  #4 (permalink)  
Antiguo 20/01/2005, 18:51
 
Fecha de Ingreso: noviembre-2003
Ubicación: México
Mensajes: 49
Antigüedad: 20 años, 7 meses
Puntos: 0
Si puedes manda los otros códigos que has encontrado.
Recuerda que los foros son un muy buen medio de encontrar soluciones a problemas que otros han encontrado.
__________________
Zolw
Entra a http://tutoriales.xlso.com puedes encontras tips, scripts y ayudas para ASP, ASP.NET, PHP, VB, HTML, DHTML, Flash, JavaScript y más...
MÉXICO
  #5 (permalink)  
Antiguo 20/01/2005, 23:31
Avatar de Stickmaster2004  
Fecha de Ingreso: septiembre-2004
Ubicación: Barranquilla
Mensajes: 568
Antigüedad: 19 años, 8 meses
Puntos: 0
3 posibles soluciones

Este código cálcula la edad de una persona si le pasamos la fecha de nacimiento de esta. El cálculo es exacto y en el caso de que una persona hubiera nacido el 27/12/1971 y estuvieramos en el dia 26/12/2001 nos dirá que tiene 29 años.


<%
fecha="1971/12/27" 'Esta es la fecha de nacimiento (En String)
fechanac=year(fecha) & "/" & Month(fecha) & "/" & Day(fecha)
If month(fechanac)>month(date) then
edad=-1
Else
If month(fechanac)=month(date) and day(fechanac)>day(date) then
edad=-1
Else
edad=0
End if
End if
%>
Edad: <%=Datediff("yyyy",fechanac,date)+edad %>


esta es la segunda :


<%
dteNacimiento = "03/20/1976"
IF (Month(dteNacimiento) > Month(Now)) OR (Month(dteNacimiento) = Month(Now) AND day (dteNacimiento) > day(now)) THEN
Anhos = datediff("yyyy",dteNacimiento,now()) - 1
ELSE
Anhos = datediff("yyyy","10/02/1976",now())
END IF
%>



esta es la mia la tercera aunque no esta optimizada tiene algunos detalles por arreglar, despues mando el arreglado


<%

fecha="2004/12/21" 'Esta es la fecha de nacimiento (En String)
fechanac=year(fecha) & "/" & Month(fecha) & "/" & Day(fecha)

if (year(date) > year(fechanac)) and (month(date) >= month(fechanac)) and (day(date) >= day(fechanac)) then
multi=year(date)-year(fechanac)
mes=12*multi
response.write mes-1
else
If (year(date) > year(fechanac)) and (month(date) >= month(fechanac)) and (day(date) < day(fechanac)) then
multi=year(date)-year(fechanac)
mes=12*multi
response.write mes

Else
If (year(date) > year(fechanac)) and (month(date) < month(fechanac)) and (day(date) =< day(fechanac)) then
multi=year(date)-year(fechanac)
real=12*multi
oopps=month(fechanac)-month(date)
mes=real-oopps
response.write mes-1

Else
If (year(date) > year(fechanac)) and (month(date) < month(fechanac)) and (day(date) > day(fechanac)) then
multi=year(date)-year(fechanac)
real=12*multi
oopps=month(fechanac)-month(date)
mes=real-oopps
response.write mes

else

response.write "jodase"
End if
End if
End if
End if
%>
__________________
Solo el que se basa en conocimiento basico y cultiva el aprendizaje obtendra sabiduria
  #6 (permalink)  
Antiguo 21/01/2005, 07:56
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 5 meses
Puntos: 4
la mia es esta

Function calculartiempo(dia, mes, ano, f)
Dim fecha, formatosalida,t
fecha= dia & "/" & mes& "/" & ano
if f = 1 then
formatosalida = "d"
end if
if f =2 then
formatosalida = "m"
end if
if f = 3 then
formatosalida = "yyyy"
end if
t = DateDiff(formatosalida,fecha,Date())
calculartiempo = Cint(t)
End Function


la llamas asi

<%=calculartiempo(21, 01, 2004, 2)%>
la letra "f" la reemplazas por el numero que corresponda arriba, si es 1 entonces te devuelve la edad en dias, si es 2 te la devuelve en meses, si es 3 te la devuelve en años..
espero te sirva.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:44.