/Anonimizzato30421Utente anonimizzato22 feb 2021, 18:11Ciao a tutti, ho già fatto una ricerca sul forum ma no ho trovato la soluzione a questo quesito... Devo eseguire un codice tramite macro di Access. Provando a creare una macro e selezionando "EseguiCodice", andando ad inserire il nome della funzione in questo modo: NomeFunzione() mi viene restituito questo errore: "Impossibile trovare il nome di funzione immesso in questa espressione" Eppure la funzione è esistente e funzionante Grazie a chi mi aiuterà
OOsvaldoLaviosaSuper FamosoIscritto daapr, 2012Messaggi758922 feb 2021, 20:31Cosa devi fare veramente? Leggendo qua https://support.microsoft.com/it-it/office/azione-di-macro-eseguicodice-e6a62d3f-02c6-4daf-a5f7-402fd600bed4 l'ultimo rigo dice Questa azione non è disponibile in un modulo VBA. Eseguire invece la routine Function desiderata direttamente in VBA.
@AlexSuper FamosoIscritto dafeb, 2012Messaggi895122 feb 2021, 20:33Serve la sintassi giusta UGUALE incluso: =nomefunzione() La funzione deve essere dichiarata Public in un modulo standard. Se si omette Public lo assume di default, basta quindi non dichiararlo PRIVATE.
OOsvaldoLaviosaSuper FamosoIscritto daapr, 2012Messaggi758922 feb 2021, 20:37@Alex ha scritto:Serve la sintassi giusta UGUALE incluso Com'è che dal link da me indicato, nella sezione Note, dice A differenza dei nomi di funzione definita dall'utente usati per le impostazioni delle proprietà evento, il nome della funzione nell'argomento Nome funzione non inizia con un segno di uguale (=). Piuttosto leggo Se il nome della funzione corrisponde al nome del modulo, non è possibile chiamare una routine Function da una macro.
@AlexSuper FamosoIscritto dafeb, 2012Messaggi895122 feb 2021, 20:50Spero di non sbagliare a questo punto... basta fare una prova. Sai che le macro non le uso... ma siccome non ho provato aspetto una vostra prova di smentita. La parte sotto è scontata anche da VBA accade questo.
/Anonimizzato30421Utente anonimizzato23 feb 2021, 10:09Ciao a tutti e grazie per l'aiuto!! Il mio problema era molto banale... avevo rinominato il modulo uguale alla funzione... è la prima volta che faccio un lavoro del genere e quindi non lo sapevo proprio. Ora funziona. La sintassi corretta è senza =: nomefunzione() Grazie ancora