Quiere actualizar automáticamente el campo de la edad de todos los registros anualmente sumando un año más. ¿Cómo lo hago? Gracias y un saludo
1 Respuesta
Respuesta
1
1
Anónimo
Para añadir un intervalo a una fecha se utiliza la función: AgregFecha(Intervalo;Número;Fecha) Los intervalos son: Intervalo Año:yyyy Trimestre:q Mes:m Día:d Minuto:n Segundo: es Número: Cantidad de intervalos que quieres añadir Fecha: Nombre del campo al que quieres añadir En tu caso sería: AgregFecha("yyyy";1;[CampoFecha])
¿Pero la fórmula se pone en valor predeterminado? Y se pone ya desde el inicio de la base de datos o en enero para que me haga el cambio Gracias
En valor predeterminado no lo puedes poner ya que al principio no tienes ningún valor introducido en el campo, entonces difícilmente podrías añadir algo. No se como tienes diseñada la BD, pero si lo que quieres es que al pasar el año te actualice yo pondría un código, donde preguntaría si el año de la fecha es menor que el año actual, si es así que me añada un año. Supongamos que la tabla se llama AñadirAño y el campo FechaInicial. El código sería: Dim db As Database Dim rs As Recordset Set db = CurrentDb Set rs = db.OpenRecordset("AñadirAño") Do While Not rs.EOF If Year(rs!FechaInicial) < Year(Date) Then rs.Edit rs!FechaInicial = DateAdd("yyyy", 1, rs!FechaInicial) rs.Update End If rs.MoveNext Loop Si no sabes donde ponerlo, dame más detalles de la BD y te podré ayudar.
En la base de datos tengo campo con nombre de personas y en otro campo sus edades (es un número no una fecha de nacimiento). Y quiere que si por ejemplo pues tiene este año 49 pues el año que viene me sume una ya que tendrá 50. Gracias por la ayuda Un saludo
Bien, supongamos que seguimos con la misma tabla y otro campo que llamamos Edad. El código sería el siguiente: Dim db As Database Dim rs As Recordset Set db = CurrentDb Set rs = db.OpenRecordset("AñadirAño") Do While Not rs.EOF If rs!FechaInicial=FechaEnLaQueQuieresQueSeEjecute Then rs.Edit rs!Edad=rs!Edad+1 rs.Update End If rs.MoveNext Loop