Newsgroup: it.comp.appl.access
Titolo: funzioni e autokeys

ho una macro autokeys che a fronte della pressione di f4 chiude la
maschera.
il fatto è che non vorrei che valesse per tutte le maschere, ma solo x
due, quindi nella colonna condizione ho messo 
[screen].[activeform].[Name]="M49frm_pannello_spedizioni"
[screen].[activeform].[Name]="M50_spedizioni"
e ho chiesto che in entrambi i casi esegua la funzione di chiusura.
Function chiudi_form()
Dim ArrestaEsecuzione As Boolean
ArrestaEsecuzione = True
If ArrestaEsecuzione = True Then
Dim frmCurrentForm As Form
Dim frm_da_chiudere As String
Set frmCurrentForm = Screen.ActiveForm
frm_da_chiudere = frmCurrentForm.Name
DoCmd.Close acForm, frm_da_chiudere, acSaveNo
DoCmd.CancelEvent
ArrestaEsecuzione = True
Else
frm_da_chiudere = ""
End If
End Function
la cosa buffa è che su pressione di F4 (tasto associato alla autokeys) (se
le due maschere vengono aperte in successione), la funzione viene eseguita
2 volte! mi chiude la prima e anche la seconda. se invece lancio la
funzione da un pulsante col tradizionale click mi chiude correttamnete
l'ultima maschera e lascia aperta la maschera aperta in precedenza.  
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio news:e9qtp4$r9c$1...@news.newsland.it...

Ma se gli passi come parametro (magari come Optional) il nome della form?
Ciao.
-- 
Sergio MAZZA 

 l'ultima maschera e lascia aperta la maschera aperta in precedenza.
si ma quante azioni hai nella macro, due ?
se sě allora la funzione viene richiamata due volte.
metti una sola azione con l'opzione
----
[screen].[activeform].[Name]="M49frm_pannello_spedizioni" OR
[screen].[activeform].[Name]="M50_spedizioni"
----
Ciao
-- 
Giorgio Rancati
[Office Access MVP]

 Ciao
Grazie giorgio, in settimana provo, ma l'idea mi sembra proprio buona.



Ma scusa questa non č una condizione?
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it

 Ma scusa questa non č una condizione?
sě, una sola condizione per una sola azione, lui ha due azioni e in ognuna
di esse una condizione.
quale č il dubbio ?


 Ciao
no scusa, forse no mi č ancora chiaro
Lui ha
NomeMacro - Condizione -      Azione -     nome funzione
{F3}             [Screen]...=A      Eseguicodice  fctA()
                     [Screen]...=B      Eseguicodice  fctB()
Ora lui dovrebbe discriminare la form col focus
e quindi fuznzionare una sola volta
O sbaglio?


 -- 
lui ha:
----
 NomeMacro - Condizione -      Azione -     nome funzione
 {F3}             [Screen]...=A      Eseguicodice  chiudi_form()
                      [Screen]...=B      Eseguicodice  chiudi_form()
----
quindi se entrambe le form sono aperte nella sequeza A a fuoco e B sotto,
prima chiude la A e poi la B.
io gli ho suggerito di fare
----
 NomeMacro - Condizione -                               Azione -     nome
funzione
 {F3}             [Screen]...=A OR [Screen]..=B     Eseguicodice
chiudi_form()
----



Perchè lui perpetua l'azione a tutte le macro che ha in sequenza.
Ora ho capito cosa dicevi.
Non mi era mai capitato perchè nella mie routine non chiudevo la maschera e
quindi non si spostava il focus
