Newsgroup: it.comp.appl.access
Titolo: DoCmd.Close

Scusate ragazzi ma come c...zo si chiude una frm?
Vorrei chiuderla sul Deactivate di una frm e ho messo
Private Sub Form_Deactivate()
DoCmd.Close
End Sub
Ma il debbugger mi dice
Errore di runtime 2585
"Impossibile eseguire questa operazione durante
l'elaborazione di un evento di maschera o di report"
Ma di che elaborazione parla.La frm in questione non ha nemmeno codice sugli
eventi Load o Open e (nemmeno sugli altri).In più mi consiglia di
controllare una macro che avrei su un mezzo chilo di eventi.
Ma se io nemmeno le uso le macro!!!!
Access 97
SunRex

 ha scritto nel messaggio
news:7G25b.4877$R32.1...@news2.tin.it...

DoCmd.Close NomeMaschera acSaveNo
Ma no dovrebbe essere questo il problema
MAssimiliano

 ha scritto nel messaggio
news:IM25b.33904$w8.3...@news.edisontel.com...

Infatti ci avevo già provato ma il risultato è lo stesso.
P.S.
Che pazienza che c'hai (Dlookup) ;)
SunRex

 SunRex
Prova a creare un pulsante e vedi se lo fa anche col wizard.
MAssimiliano

 Ma di che elaborazione parla...
Di Form_Deactivate.
Vuol dire che non puoi chiudere la maschera mentre lo
stato Deactivate. Altrimenti producerebbe un loop infinito:
Deactivate--> Close-->Deactivate-->Close...
Se assolutamente vuoi farlo qui puoi inserire nel evento Timer:
DoCmd.Close acForm, Me.Name
e nel Deactivate p.e.:
Me.TimerInterval = 100
-- 
HTH
Karl
*********
Access-FAQ (tedesco): 
http://www.donkarl.com

 ha scritto nel messaggio
news:V_25b.33917$w8.1...@news.edisontel.com...

No Max se chiudo la frm normalmente (ha già un tasto apposito) mi si chiude
è
sul Deactivate che non lo fa.Cioè io vorrei che aprendo un'altra frm questa
si chiudesse ma forse sbaglio l'evento.
SunRex

 ha scritto nel messaggio
news:bj2en8$eduoc$1...@ID-46617.news.uni-berlin.de...

Karl sei un mito. ;)
Funziona perfettamente.
SunRex



Sunrex, dillo prima!!!
Stavo già pensando di Formrex perchè sul tuo pc non tramonta mai la
maschera...
MAssimiliano

 ha scritto nel messaggio
news:qd35b.33924$w8.2...@news.edisontel.com...

Scusa Max
SunRex

 ha scritto nel messaggio
news:Uc35b.5159$R32.1...@news2.tin.it...

Scusate l'intromissione ma poteva anche bastare che l'apertura di una
qualunque altra maschera si ponesse
Private Sub Form_Activate()
    DoCmd.Close acForm, "Tua maschera"
End Sub
e il gioco era fatto...prima non poteva funzionare perchè Docmd.close
funziona se lo stato è attivo, quindi capisci che su Deactivate() non può
funzionare.
Ciao a tutti
Roberto
P.s Comunque complimenti a Karl per la sua soluzione!

 ha scritto nel messaggio
news:BnD5b.11924$hE5.4...@news1.tin.it...

Il problema è che ho tre maschere che tra di loro non devono essere aperte
contemporaneamente.
Da qui mi è venuta l'idea di usare l'evento Deactivate.
SunRex

 ha scritto nel messaggio
news:bsD5b.11953$hE5.4...@news1.tin.it...

Il principio è lo stesso...in un triangolo...all'apertura di una fai
corrispondere la chiusura delle altre due.E vedrai che sarà impossibile che
possano aprirsi tra loro.
Robby

 ha scritto nel messaggio
news:XvD5b.11973$hE5.4...@news1.tin.it...

Infatti ci stavo pensando.Sto facendo una piccola funzione
con una serie di case.Questo perchè il consiglio di Karl è ottimo ma se su
una maschera in cui inserisco il codice di Karl c'è un pulsante per stampare
il codice fa il suo dovere cioè lancia l'anteprima del record e chiude tutto
contento la maschera.Risultato altro codice sulla chiusura del report per
riaprire la maschera.
SunRex

 ha scritto nel messaggio
news:5ED5b.12023$hE5.4...@news1.tin.it...

In tal caso è meglio come ti dico io sulle tre maschere metti così:
MASCHERA 1
Private Sub Form_Activate()
    DoCmd.Close acForm, "maschera2"
    DoCmd.Close acForm, "maschera3"
End Sub
alternando le chiusure, e il gioco è fatto
Ciao
Roberto