Private Sub BANCA_AfterUpdate() On Error GoTo Errore Dim giorno As Integer, F As Integer, I As Integer Dim gg As Integer, mm As Integer, aa As Integer, dd1 As String, dd2 As String F = Me![Fino_Al] I = Me![Pagare_Il] If F = 0 Then Exit Sub If I = 0 Then Exit Sub giorno = Day(Me![DATA MOVIMENTO]) aa = Year(Me![DATA MOVIMENTO]) gg = I mm = Month(Me![DATA MOVIMENTO]) If giorno > F Then GoTo Maggiore If giorno < F Or giorno = F Then dd1 = gg & "/" & mm & "/" & aa If IsDate(dd1) Then Me![DATA SCADENZA] = dd1: Exit Sub dd1 = gg - 1 & "/" & mm & "/" & aa If IsDate(dd1) Then Me![DATA SCADENZA] = dd1: Exit Sub dd1 = gg - 2 & "/" & mm & "/" & aa If IsDate(dd1) Then Me![DATA SCADENZA] = dd1: Exit Sub dd1 = gg - 3 & "/" & mm & "/" & aa If IsDate(dd1) Then Me![DATA SCADENZA] = dd1: Exit Sub Maggiore: If giorno > F Then gg = I mm = (Month(Me![DATA MOVIMENTO]) + 1) If mm = 13 Then mm = 1: aa = aa + 1 dd = gg & "/" & mm & "/" & aa If IsDate(dd) Then Me![DATA SCADENZA] = dd: Exit Sub dd = gg - 1 & "/" & mm & "/" & aa If IsDate(dd) Then Me![DATA SCADENZA] = dd: Exit Sub dd = gg - 2 & "/" & mm & "/" & aa If IsDate(dd) Then Me![DATA SCADENZA] = dd: Exit Sub dd = gg - 3 & "/" & mm & "/" & aa If IsDate(dd) Then Me![DATA SCADENZA] = dd: Exit Sub Exit Sub Errore: MsgBox "Errore nei calcoli della data..." Exit Sub End Sub