Buongiorno a tutti.
Ho un form associato a una tabella e di conseguenza i suoi controlli associati ai rispettivi campi.
Il mio scopo è che sull'evento Unload del form, e in seguito alla risposta negativa se si vogliono salvare le modifiche apportate, vengano ripristinati nei controlli i valori precedenti alla modifica.
Di seguito il codice da me utilizzato:
Private Sub Form_Unload(Cancel As Integer)
If SalvataggioOK = False Then
If MsgBox(Testi_M(Lingua, "comune", "exit_no_save"), vbQuestion + vbYesNo, "GestionaleGE1") = vbYes Then
If Inserimento = True And Modifica = False Then
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDelete
DoCmd.SetWarnings True
Else
UndoEdits
End If
Else
Cancel = True
End If
End If
End Sub
Private Sub UndoEdits()
For Each ctlC In Me.Controls
If ctlC.ControlType = acTextBox Then
ctlC.Value = ctlC.OldValue
ElseIf ctlC.ControlType = acComboBox Then
ctlC.Value = ctlC.OldValue
End If
Next ctlC
End Sub
Inutile dire che il valore precedente non viene ripristinato.
Ho utilizzato lo stesso sistema in un form con i controlli non associati con una tabella e funziona perfettamente. E' possibile utilizzare questo sistema anche per controlli associati?
Grazie per ogni tipo di suggerimento.