Newsgroup: it.comp.appl.access
Titolo: Richiamare una funzione da un bottone di comando.

Salve a tutti.
Nel mio codice, in passato (ora sono un po' arruginito), ho usato poche volte le Funzioni e quelle poche volte le ho richiamate semplicemente 
aggiungendo ad un bottone di comando il nome di una Private Function:
 
Private Sub comando203_click ()
Nome_Funzione
End Sub
 
Eseguendo la stessa procedura adesso mi dà un errore:
"Errore di compilazione
Argomento non facoltativo"
Quale argomento? 
Gli argomenti sono nella Funzione richiamata.
Dove sto sbagliando?

Ciao, 
come è definita la funzione? 
Se è qualcosa come
Private Function Nome_Funzione (Argomento As string) as String
 
nella tua chiamata manca il valore da assegnare all'argomento o agli argomenti se sono più di uno.
Ciao
Mat.

Perché posti domanda in tanti forum...?
 
@Alex


Ciao Grazie per la risposta
La Funzione chiamata è la seguente
 
    Private Function Esegui_Backup(ByVal F As String)
Ma se nel Pulsante inserisco la chiamata:
        Esegui_Backup (ByVal F As String) 
Mi restituisce il seguente errore di compilazione:
       Previsto: separatore di elenco oppure )
(F sarà il Percorso indicato su cui fare il Backup)
In fase di Debug, viene selezionato As come se il problema fosse quello (?)

 @Alex
 
 
Ciao Alex, 
comprendo il vostro punto di vista ma ancora non sono pratico
del vostro Sito, man mano sto cercando di capire il Regolamento. 
Per esempio i tag Code.
Abbiate un po' di pazienza...
Grazie. 

Devi passare alla funzione, appunto, una stringa
Call Esegui_backup("percorso esteso")

Ho capito.
grazie Roberto.
 
Ps.
Sei lo stesso Roberto che era in questo NewsGroup Più di 10 anni fa? :-)

Può essere.....


Non credo... se parli di "Roberto da Casa" o "Roberto dal Portatile"... lui era una colonna poertante del NG dagli anni 90.
 
@Alex

 
 
un grande! Ciao Roberto se leggi ancora il ng!


Allora no....solo Roberto dalla Libreria....nessuna colonna portante!!!!

Il giorno mercoledì 25 ottobre 2017 09:28:44 UTC+2, @Alex ha scritto:

Hai Ragione Alex, era proprio Roberto da casa o dal portatile. Una colonna! Allora proprosi delle stautue, ma lui ero molto umile. Un Grande.

Private Function:
Private Sub comando203_click ()
Nome_Funzione
End Sub
 
Quella che hai scritto è una subroutine (o procedura) e non una funzione.
Non è come nel C dove tutto è funzione e le subroutine sono casi sintattici 
di funzione.
 
Quindi controlla i punti seguenti:
- una funzione si definisce con Private Function NomeFunzione(Argomenti As 
Tipi) AS TipoRestituito; perché una funzione appunto restituisce sempre 
qualcosa; prima della uscita devi mettere un comando NomeFunzione = <valore 
di TipoRestituito>
- una subroutine non restituisce nulla esplicitamente (ma lo può fare sui 
parametri passati, ora non è il caso di spiegare) quindi va definita con 
Private Sub NomeSub(Argomenti As Tipi); non deve essere messo un comando 
NomeSub = <valore>.
 
Detto questo la chiamata si fa in questo modo:
Funzione: Variabile = NomeFunzione(Argomento) oppure es. 
NomeFunzione(Argomento) se inserita nelle espressioni
Subroutine: Call NomeSub(Argomento)