Newsgroup: it.comp.appl.access
Titolo: RIGA COMANDO

Salve se volessi utilizzare una tabella per far eseguire dei comandi
dome potrei fare? Cerco di spiegarmi meglio
in una tabella definisco un campo con la scritta docmd.Openform
"maschera" , nel record successivo ad esempio msgbox"ciao"
.Ora in una maschera in base a cio che viene cliccato mi restituisce
il comando desiderato ad esempio il msg o l'apertura della
maschera ,ma per farlo eseguire?

 ha scritto nel messaggio 
news:8e93076e-e32f-4e75...@z9g2000yqz.googlegroups.com...

Come complicarsi la vita e darsi delle bottigliate sulle palle stile Tafazi
Ma nella tabella salva la descrizione di ciň che vuoi fare (per farla vedere 
all'utente) ed un campo numerico come chiave
poi da codice farai un bel select case e a seconda del valore selezionato 
scrivi da codice quello a cui corrisponde
Antonio 

 Antonio
Uhm pensavo che bastasse docmd... ect ect bedo perforza intervenire
col case? non ce altro?

 ha scritto nel messaggio 
news:de5ac54d-24d8-4916...@z19g2000yqb.googlegroups.com...

ma porca pupazza, ma il tempo che impieghi per scrivere i comandi in una 
tabella è lo stesso per metterli in un modulo no?
comunque prova a spulciarti la funzione eval
Antonio 

 Antonio
Non mi e chiaro , qualcosa mi sta sfuggendo .
Non è che nn voglio usare il case  antonio e un passo per imparare o
cercare di imparare cose diverse e nuove .


Informazione:
Ho seguito il consiglio del select case case, in effetti era molto piu
facile gestirmelo ;)
Pero ora non riesco a far eseguire una funzione pubblica
Spiego l'evento
su una variabile mi esce il nome di cio che devo fare
dim stDocName as variant
stDocName= me.testo3 (ad esempio)
Select Case tipo
    Case 0 'nessun menu
    Case 1 ' apre la maschera
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    Case 2 'msgbox
    MsgBox Me.Testo14
    Case 3 'funzione pubblica
    Eval ("stDocName")
    Case 4 'macro
    DoCmd.RunMacro stDocName
End Select
funziona tutto tranne per la case 3 cioe quella che esegue una
funzione pubblica, presumo che come al solito sbaglio qualcosa,
eval("nomefunzione()") cosi funziona passandolo da paramentro no
dove mi sto ingrippando?


Informazione:
Ho seguito il consiglio del select case case, in effetti era molto piu
facile gestirmelo ;)
dě lo giuro...
Pero ora non riesco a far eseguire una funzione pubblica
Spiego l'evento
su una variabile mi esce il nome di cio che devo fare
dim stDocName as variant
stDocName= me.testo3 (ad esempio)
    Case 3 'funzione pubblica
    Eval ("stDocName")
funziona tutto tranne per la case 3 cioe quella che esegue una
funzione pubblica, presumo che come al solito sbaglio qualcosa,
eval("nomefunzione()") cosi funziona passandolo da paramentro no
dove mi sto ingrippando?
ma che ce sta dentro testo3? il nome di una funzione pubblica?
se č cosě, non ci sono riuscito a richiamare la sub usando la variabile... 
passo
Antonio 

dove mi sto ingrippando?
-- 
Ciao
Geppo 

 Geppo
Ciao Geppo , anche senza gli apici non funziona la variabile contiene
il nome della funzione pubblica ma non va non parte.
Pero parte senza passare dalla variabile ovvero Eval (Me.Testo14)
Bo :) grazie comunque della vostra disponibilita


Eval ("stDocName")
così gli stai passando un testo, non un campo... senza le virgolette
gli passi il campo, e quindi lui esegue l'eval...

stDocName= me.testo3 (ad esempio)
nella riga sopra poni stDocName come me.testo3, quindi come "VALORE"
del testo3, che quindi può esser tutto e niente...
ma cosa c'è in testo3???


Ciao Plabitomf , il testo contiene il nome di una maschera ,o di una
macro ,funzione ect ect che preleva dalla tabella menu , per passarli
il parametro da eseguire


No, spè, la cosa non mi sconfinfera...
questo è il codice che hai postato :
    dim stDocName as variant
    stDocName= me.testo3 (ad esempio)
    Select Case tipo
    Case 0 'nessun menu
    Case 1 ' apre la maschera
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    Case 2 'msgbox
    MsgBox Me.Testo14
    Case 3 'funzione pubblica
    Eval ("stDocName")
    Case 4 'macro
    DoCmd.RunMacro stDocName
questo vuol dire che :
se Tipo=1 nella tabella, nel campo che passi a stDocName, avrai
registrato come dato ad es "Maschera1" perchè esegui un OpenForm
se Tipo=2 nella tabella, nel campo che passi a stDocName, avrai
registrato come dato ad es "Ciao Utente" perchè esegui un Msgbox
se Tipo=3 nella tabella, nel campo che passi a stDocName, cos'hai
registrato??? fammi un esempio concreto però


Supponiamo di avere una funzione pubblica prova(), stDocName
restituisce prova cosi come da vba per eseguire una funzione pubblica
si inserisce il suo nome , ho provato anche inserendo prova() ma
nulla , leggendolo invece dal campo (me.testo..) funziona ora
sinceramente non lo so perche non me la esegue
il bello che visto che la variabile e sempre prelevata dal testo14
potevo anche evitare di inserire la variabile .


Possibile che uno ti chiede una cosa e tu ne rispondi un altra????...
non mi frega che hai una funzione pubblica prova(), voglio capire come
la richiami in tabella... per cui :
"NELLA TABELLA, COSA C'E' SCRITTO?"


Uhm..
nella tabella sta scritto semplicemente il nome della funzione (prova)


vabbè, facciamo così :
tiè
Public Function mmm()
    mmm = "Ciao"
    MsgBox mmm
End Function
Private Sub Comando1_Click()
    Dim x As String
    x = mmm()
    Eval (Chr(34) & x & Chr(34))
End Sub
funziona....


OPS... sbagliato il copia e incolla...
tiè...
Public Function mmm()
    mmm = "Ciao"
End Function
Private Sub Comando1_Click()
    MsgBox Eval(Chr(34) & mmm() & Chr(34))
End Sub

 nella tabella sta scritto semplicemente il nome della funzione (prova)
ne capisco poco ma io avrei scritto prova()
-- 
ac (x=y-1)


E no Pabli non va bene cosi , non e assolutamente quello chi cui si
parlava ;)
tu hai messo il nome della funzione pubblica mmm() ;)
cmq dai risolto lo stesso e va benissimo cosi
M agrazie sempre per la vostra disponibilita