Ci sono dei Tools ma non sono FREE..., leggi questo:
Sinceramente non capisco cosa possa accadere che guasta il funzionamento...
Detta così tuttavia si potrebbe anche scrivere una procedura in VBA( ), e se riesci a farla con le MACRO ti pago la pizza, per ciclare tutti i componenti delle Maschere e stampare un LOG con le differenze.
Questa funzione andrebbe scritta in modo da essere RICORSIVA così che possa analizzare anche le SUBFORM.
Ovviamente una delle 2 Maschere deve essere la MASTER.
Dimmi se la cosa ti interessa posso abozzarti la strategia del codice...
Questo è un'esempio che puoi Facilmente testare
Function CheckProperties(NomeForm As String)
On Error Resume Next
Dim ctl As Access.Control
Dim intCount As Integer
DoCmd.OpenForm NomeForm, , , , , acHidden
For Each ctl In Forms(NomeForm).Controls
For intCount = 0 To ctl.Properties.Count
Debug.Print ctl.Properties(intCount).Name; " = " & ctl.Properties(intCount).Value
Next
Next
DoCmd.Close acForm, NomeForm
End Function
la chiami così aprendo il VBEditor ed aprendo con CTRL+G la finestra Immediata e digitando nella Finestra sotto questo
?CheckProperties("NomeMaschera")
se premi invio vedrai nella finestra stessa elencarsi Nome Proprietà e Valore per ogni controllo...
La finestra ha un Numero di RIGHE limitato pertanto poi perderai i primi... motivo per il quale è meglio un LOG, ma se STAMPI solo le differenze, non dovresti avere molte righe...!
Questa funzione così come è scritta non è ricorsiva... ma è semplice modificarla in modo che se un Controllo della Form fosse una SubForm l'analisi sia Automatica.
Chiaramente visto che si parla di CONFRONTO dovrai aprire 2 Maschere, ma usare solo il CICLO della MASTER per puntare alla 2°...