Newsgroup: it.comp.appl.access
Titolo: Menu e maschere

Pio Pio
Intendo dire:
Dove devo inserire il codice DoCmd.OpenForm "nome", , , , , , "argomenti" ?
Come si fa ? Come ci si arriva ?
Ho provato a visualizzare le proprietà della voce di menu personalizzato che lancia la maschera per
vedere se ci fosse la possibilità di aggiungere il codice che mi ha suggerito Sergio ma l'ho
trovata.
Ho anche provato a cambiare le proprietà della voce del menu ma neanche questa soluzione ha
funzionato.
Mi spiace essere così insistente, ma purtroppo sono alle prime armi con Access e senza questa
risposta non riesco ad andare avanti con il programma.
Dato che sono un newbe con Access vi sarei grato se mi forniste spiegazioni particolareggiate
Ringrazio tutti per l'attenzione.
Stay alive !
Pio Pio
Win XP & Office 2000

 Pio Pio
Ciao Pio Pio
Solo per solidarieta'....
Ho avuto anch'io lo stesso problema.
Ho chiesto al NG circa tre mesi fa e, a tutt'oggi, non ho ancora la
soluzione.
Io parlavo di Menu a Tendina, come in altri linguaggi per Dos venivano
chiamati.
Ho ricevuto risposte che riguardavano le Caselle Combinate.
Ho trovato difficolta' anche nel far capire la differenza, contrariamente a
come hai
fatto tu che, a mio modesto parere, sei stato chiarissimo.
Attendo anch'io con te e con ansia che qualcuno sia in grado di dare
soluzione.
Cordialita'
Antcim


Grazie cmq.
Stay alive !
Pio Pio
Win XP & Office 2000

Pio Pio
Mi rispondo da solo premettendo di aver trovato una soluzione funzionante ma non di certo elegante.
Se qualcuno dovesse avere un'idea migliore (che non utilizza magari maschere supplementari) me lo
faccia sapere.
Innanzitutto bisogna creare tante maschere (che da ora in poi chiameremo "maschere di comodo")
quanti sono i possibili utilizzi dell'altra maschera che svolge il lavoro e inserirle nei menu. 
Chiameremo queste maschere per comodità maschera1, maschera2 ecc.
Nell'evento form_load di ciascuna maschera di comodo vanno inserite due istruzioni:
1    DoCmd.OpenForm "mascherachefaillavoro", , , , , , "parametro1" (apre la maschera voluta e allo
stesso tempo gli passa il parametro che permette di distinguere la provenienza della chiamata. La
stringa parametro1 sarà ovviamente diversa per ciascuna maschera di comodo).
2    DoCmd.Close acForm, "maschera1" (chiude la maschera di comodo)
In questo modo nell'evento load o acrivate della maschera voluta si analizza openargs e si
stabilisce da che voce del menu arriva la chiamata.
Ringrazio Sergio Mazza per l'imbeccata di DoCmd.
Arrivederci.


 ha scritto nel messaggio
news:dm5aluog1hr04n5bv...@4ax.com...

Se non ricordo male la voce menu deve eseguire una funzione o macro
(assegnata nelle proprietà)...
Ciao.
--
Sergio MAZZA

 Mi rispondo da solo premettendo di aver trovato una soluzione funzionante
ma non di certo elegante.
CUT
No No No No No No No Nooooo!
Io faccio cosi' (non è detto sia il modo migliore!)
Creati un nuovo Modulo che chiamerai "BarreMenu".
Ad esempio vuoi un menu personalizzato "Strumenti" che conterra' le voci:
- Opzioni
- Fai Questo
- Fai Quello
- Apri TuaForm
- Ecc...
Nel modulo appena creato inserisci una funzione del tipo:
Public function MenuStrumenti(bttn as byte)
    Select case bttn
        case 1    'Opzioni
            DoCmd.OpenForm "Opzioni", ecc
        case 2    'Compatta e ripristina DB
            ...Fai Questo...
        case 3    'Seleziona origine dati
            ...fai Quello...
        case 4    'Crea backup
            DoCmd.OpenForm "TuaForm", ecc
    End Select
End Function
Usando SelectCase puoi scrivere una Function per ogni menu anziche' scrivere
una Function per ogni voce.
A questo punto, entri in personalizzazione delle barre degli strumenti e fai
click destro sulla voce menu che ti devi personalizzare.
Apparira' un menu contestuale---> scegli "Proprietà".
Apparira' un altro menu: nel campo "Azione:" ci scrivi:
"=MenuStrumenti(1)"              ---> apre la Form "Opzioni"
"=MenuStrumenti(2)"              ---> Esegue il codice "Fai Questo"
"=MenuStrumenti(3)"              ---> Esegue il codice "Fai Quello"
"=MenuStrumenti(4)"              ---> apre la Form "Tua Form"
e così via...
Mandi Rob.


CUT
Questa si che è una soluzione elegante.
Grazie mille Rob.
