ciao GiuseppeDB,
sei sicuro non valga la pena a questo punto cancellare le righe dalle tabelle piuttosto che ciclare controlli e renderli null ?
la sottomaschera all'interno della maschera è a sua volta in controllo, quindi potrebbe andare bene una ricorsiva...!
Prova questa soluzione….se la sotto maschera è continua qualche altra correzione è necessaria :
Private Sub nullAll(ByVal frm As Access.Form)
Dim ctl As Access.Control
For Each ctl In frm.Controls
If ctl.Tag <> "x" Then
ctl.Value = Null
End If
If TypeName(ctl) = "SubForm" Then
nullAll ctl.Form
End If
Next
Set ctl = Nothing
end sub
la tag property serve per escludere quei controlli che potrebbero non essere "nullabili" se mi passi il termine come PK autonumber giusto per citare un esempio oppure lo stesso qualora ci fossero vincoli a livello di tabelle circa la richiesta compilazione....
Intanto...senza addurre troppe supposizioni testa la routine qui sopra che richiami dall'evento click della form in cui la copierai in tal modo :
nullAll frm:=Me
Facci sapere.
Ciao, Sandro.