Sono sostanzialmente la stessa cosa
La 1° è piu comune mentre la 2° è un po atipica ( ma NON sbagliata)
Si tratta di 2 routine che possono funzionare solo all'interno della maschera
perche diversamente avresti "Public Sub" oppure "Public Function"
Pero la 1° ha usato la sintassi implicita Me. ( Me significa "la presente maschera" )
mentre la 2° esplicita il nome della maschera
Il filtro è una proprieta scritta fra le proprieta ( scheda Dati ) della maschera
e resta scritto anche se il filtro viene disattivato e pertanto vedi tutti i record
fra la 3° riga della 1° routine e la 2° riga della 2° routine
c'è un .Value di differenza,
e una questione di abitudine dell'autore, io preferisco scriverlo ma se omesso
è come se ci fosse perche il value è la proprieta predefinita di Me.NomeCampo.Filtro
Prova a scrivere una nuova riga con Me.NomeCampo.Filtro.
ti accorgi che appena batti l'ultimo punto l'intellisense ti propone tutte le possibilità
di queste solo il Value e defolt quindi lapuoi omettere
La 1° dice :
Me.FilterOn = False
Me.Requery
Significa:
- Disattiva il filtro ( ma non lo cancella )
- Aggiorna la visualizzazione ( quindi mostra tutti i record )
La 2° dice:
DoCmd.ShowAllRecords
Significa:
EseguiComando, Mostra Tutti i record ( anche questa non cancella il filtro )
Poi entrambe impostano il valore di un campo a Null
.