Il [?] è usato come ALIAS del DEBUG.PRINT.
Ora ribadisco e poi chiudo, lo so che si può digitare anche SENZA, ma si può digitare anche CON il PUNTO INTERROGATIVO.
Tra i 2 Metodi c'è, dovrebbe esserci, solo una differenza di risultato stampato non FUNZIONALE.
La differenza la si nota proprio quando si fa DEBUG alle Funzioni, se OMETTI [?] non leggi il valore restituito, mentre se metti [?] viene effettuato il PRINT del valore restituito dalla FUNCTION.
Es:
Public Function Prova() As String
Prova="Pippo"
End Function
Se in finestra immediata OMETTI [?] viene eseguita la Funzione ma non sai il risultato...
Se in finestra immediata ADOTTI [?] viene eseguita la Funzione e viene stampato il risultato...
Ora a seconda di come si è abituati a scrivere codice, si può modificare la Funzione ed inserire un Debug.Print interno oppure no...
Es:
Public Function Prova() As String
Prova="Pippo"
Debug.Print Prova
End Function
Tralasciando se sia meglio uno o l'altro, la questione è che NON Sempre è fattibile inserire il Debug.Print nelle Sub/Function... come appunto può accadere con le Chiamate NATIVE dei Metodi di Access, o con le API per le quali vedere cosa restiuisce la chiamata è importante, ad esempio la SHELLEXECUTE....
Per testare cosa fai scrivi una FUNCTION apposta per poi lanciare quella...? GIAMMAI... uso il [?] ed ho finito.
Questo è il motivo per cui "io" USO SEMPRE [?], ciò detto la questione è PERCHE' in realtà si abbiano 2 comportamenti funzionalmente diversi con la medesima interrogazione con e senza il [?] che è quello che mi ha ingannato... ma di certo non c'è un [?] di troppo.