Actualizacion automatica datos

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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas