Salve a tutti
In una maschera di ACCESS 2k vorrei fare un tasto che se cliccato ripristina i dati come erano all'entrata della maschera (in caso l'utente non voglia confermare le modifiche). So che dovrei lavorare con i recordset ma mi è venuto in mente che potrei fare in un altro modo più semplice.
Es:
Il campo "cognome" ha un campo a fianco chiamato "cognomeRipristino"
Sull'entrata della maschera dovrei mettere
Me.cognomeRipristino.value = Me.cognome.value
in modo tale che il tasto Ripristino mi permetta di fare l'operazione inversa
Me.cognome.value = Me.cognomeRipristino.value
Vorrei fare in modo che un unica funzione valga per tutti i controlli e ho pensato di fare come segue:
Sull'entrata della maschera metto
Call FNCEnterMask(Me)
la funzione che ho fatto è questa:
Function FNCEnterMask(NomeForm)
Dim ctl As Control
Dim n As Integer
For Each ctl In NomeForm.Controls
If ctl.Tag = "Ripristino" Then
TotField = ctl.name
Segnaposto = InStrRev(TotField, "Ripristino")
MyFieldName = Mid((TotField),1, Segnaposto)
ctl.value = NomeForm.MyFieldName.value
End If
Next ctl
Set ctl = Nothing
End Function
Il problema è che NomeForm.MyFieldName.value (che dovrebbe corrispondere a Me.cognome.value) non lo riconosce.
ho provato con eval(NomeForm.+"MyFieldName"+.value) ma non funziona.
Come posso fare per far rilevare alla funzione i valori dei campi omonimi dei quelli di ripristino?