Newsgroup: it.comp.appl.access
Titolo: Chiamare una routine

Ciao...
mi sto studiando qualche esempio preso dal sito comune e,vorrei chiedere una
cosa..
Normalmente per chiamare una funzione in un modulo es. FunctionPippo(), io
scrivo..." call Pippo" su un evento di forms.
Perň, se una funzione comincia cosě :
Function Pippo(strMinnie As String, intPluto As Integer) As Integer
ed io uso la chiamata che dicevo prima, mi restituisce
"errore non facoltativo"
se scrivo : "Pippo(strMinnie As String, intPluto As Integer) As Integer"
.....meno che mai
Chiamandola tramite macro, con "esegui codice", nella casellina mi scrive
"Pippo(strMinnie As String, intPluto As Integer) "
e non mi funziona.
In questi casi...che come si imposta la chiamata alla routine?
grazie
Ilaria Rossi

 ha scritto nel messaggio
news:9nhlb6$ag4$1...@fe1.cs.interbusiness.it...

Una funzione che prevede dei parametri non puo' essere chiamata senza
darglieli:
Function Pippo(I as Integer)
la devi chiamare come
Pippo 12 (o qualsiasi valore intero)
Insomma, gle lo devi dare il parametro che chiede.
Sib

scusami Sib, ma , nel caso..
Function Pippo(strMinnie As String, intPluto As Integer) As Integer
che prevede una stringa ed un integer..che parametro devo dare?
grazie
Ilaria


Scusa, ho scritto una sciocchezza...
ma , in ogni caso...
io sto provando la funzione che sta sul sito copmune che nasconde le
tabelle, ma non so che valore dare nella chiamata .
grazie
Ilaria


 che prevede una stringa ed un integer..che parametro devo dare?
Prima di tutto nei ng e' norma rispondere dopo il quoting (come sto facendo
io).
Devi dargli tutti i parametri che chiede:
Pippo "Bla bla", 45
D'altro canto se hai attivato l'aiuto nella digitazione te lo dice lui
stesso che parametro stai inserendo.
Sib

 tabelle, ma non so che valore dare nella chiamata .
Com'e' la funzione?
Forse chiede il nome della tabella, nel qual caso:
Pippo "NomeTabella"
Sib

 In questi casi...che come si imposta la chiamata alla routine?
In aggiunto a quanto scritto da Sib, vorrei ricordare che una Function
restituisce un valore.
Quindi, nel caso sopra citato, la chiamata corretta è
Dim risposta as Integer
risposta = Pippo("il testo da passare", 45)
La funzione Pippo eseguirà dei calcoli in base al testo e al valore
numerico, restituendo un valore numerico (integer nel ns. caso), che va
recuperato con una variabile.
Caso differente sarebbe stato se avessi scritto:
Sub Pippo(strMinnie As String, intPluto As Integer)
in questo caso la chiamata è
[Call] Pippo "il testo da passare", 45
e non mi aspetto un valore restituito.
Call è scritto tra parentesi quadre perché facoltativo.
In definitiva, se uso Function è come se aggiungessi una nuova funzione ad
Access, mentre se uso Sub è come se aggiungessi un nuovo comando.
Circa alla loro visibilità, rimando all'help la spiegazione di Private e di
Public.
--
Silvio
il sito comune di it.comp.appl.access:
http://www.sitocomune.com

 Ma come l'allego alla chiamata ?
Che intendi con "Allego alla chiamata"?
Comunque la funzione che posti non restituisce alcun valore particolare se
non un semplice valore true (-1) che indica che la funzione ha avuto esito
positivo.
La funzione richiede 2 parametri: una stringa che indica la tabella su cui
operare e un intero che indica se nascondere o mostrare:
HideTbl "MiaTabella", true
nasconde la tabella
HideTbl "MiaTabella", false
mostra la tabella
Sib
--
----------------------------------------------------
la mia home:
http://digilander.iol.it/syb
----------------------------------------------------
il sito comune di it.comp.database.access:
http://www.sitocomune.com
----------------------------------------------------
4000 anni fa', il saggio egizio Ptahhotep scrisse:
"... perche' non esistono saggi per nascita."
------------------------------------------------------
Saturiamo ECHELON:
bomba saddam attentato medio oriente


Perfetto Syb, funziona benissimo, ma se volessi nascondere tutto l'insieme
delle tabelle come dovrei fare?
grazie cmq infinitamente
Ilaria


Come mi pare sia stato risposto in un altro messaggio, devi ciclarle:
for each tbl in currentdb.tabledefs
    Nascondi
next tbl


 next tbl
A parte il fatto che mi pare veramente non vengano mai letti i POST
precedenti nemmeno se fatti dalla stessa persona....
Poi mi viene un dubbio, se eseguo il ciclo cosě come hai detto tu Sib
nel caso si voglia renderle ancora visibili č possibile venga restituito
un errore visto che il For Each Next include anche le tabelle di sistema???
Mi č venuto un dubbio, perchč se non restituisse errore sarebbe inutile
inserire un controllo, in altro caso sarebbe obbligatorio.
Non ho avuto modo di utilizzare la Function, quindi č solo un dubbio....
Ciao @Alex.
-- 
Posted from  [62.98.109.40] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 inserire un controllo, in altro caso sarebbe obbligatorio.
In effetti hai ragione, non ho mai provato.
Probabilmente non ti da errore ma non so se renda visibili le tabelle di
sistema.
Ad ogni modo, come hai detto, basta controllare le prime quattro lettere del
nome della tabella (diverse da MSys)
Ciao


 
Si in effetti è semplice, era solo un dubbio che mi era venuto, ma non credo
le Tbl MSys possano essere rese Visibili, in questo caso se Access non 
restituisse errori sarebbe tutto codice risparmiato, anche se sono dubbioso.
Ciao Buona Domenica a tutti @ALEX.
-- 
Posted from  [62.98.10.189] 
