Yes I do it through VBA but I never had any formal training with MS Access so I am not familiar with the Macro features in general . Here is my VBA code: Ethics_App_Date and ethics_dur are names on my table and also textbox on the form sorry I don't know what level you are at MS Access so I apologize if you know the VBA already.
Code:
Private Sub Form_Load()
Dim rs1 As Recordset
DoCmd.SetWarnings False
Dim db As Database
Set db = CurrentDb()
Dim sqlString1 As String
Dim sqlString2 As String
Dim appDate As Date
Dim centreCode As String
Dim ethics_dur As Integer
Dim renewDate As Date
sqlString1 = "Select ethics_app_date, ethics_dur, centre_Code from Centres"
Set rs1 = db.OpenRecordset(sqlString1, dbOpenSnapshot, dbReadOnly)
rs1.MoveFirst
Do Until rs1.EOF
If Not IsNull(rs1!Ethics_App_Date) And Not IsNull(rs1!ethics_dur) Then
appDate = rs1.Fields("ethics_app_date")
centreCode = rs1.Fields("centre_code")
ethics_dur = rs1.Fields("ethics_dur")
renewDate = DateAdd("YYYY", ethics_dur, appDate)
sqlString2 = "Update Centres set Ethics_Renew_Date = '" & renewDate & "' where CENTRE_CODE = '" & centreCode & "'"
DoCmd.SetWarnings False
Debug.Print sqlString2
DoCmd.RunSQL sqlString2
End If
rs1.MoveNext
Loop
rs1.Close
End Sub