Newsgroup: it.comp.appl.access
Titolo: Tasto X di chiusura maschera

Ho una maschera con un pulsante. Nel momento in cui il pulsante viene
premuto vorrei disabilitare il tasto X di chiusura della maschera
utilizzando VBA (oppure un altro metodo da voi conosciuto).
Ho provato a definire una mia Function che contiene questo codice (la
mia maschera si chiama Fattura):
Forms!Fattura.CloseButton = False
ma non mi funziona.....
Qualcuno sa come posso fare?
Vi ringrazio per l'attenzione.
Silvia

 ha scritto:

Non ho capito bene...forse vuoi una maschera che non si chiuda mai? 
Oppure hai fatto un bottone tu per chiudere? Se vuoi, puoi far sparire il 
tasto X andando su Proprietà della maschera e ponendo a No la 
voce "Pulsante chiusura"
Fammi sapere se ho capito bene
Ciauz
--
'gnurant come una cucuzza
Inviato da 
www.mynewsgate.net

...

Scusami, non sono stata chiara. Ci riprovo. Nella mia maschera ho un
pulsante che serve ad eseguire una serie di calcoli. Io vorrei
ottenere questa situazione:
- il pulsante non è stato premuto: il tasto X di chiusura maschera
deve essere abilitato (per questo non posso impostare a No la voce
"Pulsante chiusura")
- il pulsante viene premuto: il tasto X di chiusura maschera deve
essere disabilitato e devo abilitare un mio pulsante che servirà a
chiudere eventualmente la maschera
Il tutto nasce dall'esigenza che a fronte della chiusura della
maschera devo eseguire una macro con operazioni DIVERSE a seconda se è
stato premuto o meno
il pulsante che esegue i calcoli. Così ho pensato alla soluzione di
disabilitare il tasto X dopo la pressione del pulsante di calcolo.
Che ne dici, sto sbagliando tutto?
Grazie mille.
Silvia

 Silvia
 
Scusa se rispondo solo oggi, ma ieri, son dovuto uscire dall'ufficio 
urgentemente. Spero che tu legga la mia risposta.
Ora mi è chiaro il problema.
Io farei così. Il tasto X lo farei sparire come ti ho già detto nel post 
precedente. Poi, creerei un tastino con una X per la chiusura "fai da te".
Il tasto lo chiamerei Chiudi e, posto che l'altro tasto(visto che non lo 
so) si chiami Calcola farei così
Nella dichiarazione delle variabili
Public Calcolato as Boolean
Poi:
Private Sub Form_Load()
  '**** eventuale codice che tu hai scritto
  Calcolato=False
End Sub
Private Sub Calcola_Click()
  '**** Esegue il codice di calcolo che sai tu
  Calcolato=True
end sub
Private Sub Chiudi_Click()
  If Calcolato=True Then
    '*** esegue la macro relativa al tasto Calcola premuto
  Else
    '*** esegue la macro relativa al tasto Calcola non premuto
  End If
  DoCmd.Quit
End Sub
Ciauz
Ste


Silvia ha scritto:

Per le maschere esiste la proprietà CloseButton che indica se visualizzare
o meno il pulsantino di chiusura con la 'X', però la puoi modificare solo
in visualizzazione struttura, non mentre la maschera è in esecuzione. Ciò
vuol dire che non puoi far apparire/sparire il pulsante di chiusura
durante l'utilizzo della maschera.
Ti consiglio di impostare a NO la proprietà CloseButton in modo da
disattivare il pulsante di chiusura standard, e di creare nella maschera
un pulsante personalizzato che esegua il comando docmd.close, che potrai
far sparire/comparire a piacimento sfruttando la proprietà .visible.
Namor
-- 
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Ti ringrazio molto per la soluzione! Ho però ancora una cosa da
chiederti (scusa la mia ignoranza ma, è la mia prima applicazione
Access!!):
Come faccio nella Sub Chiudi_Click()a fare eseguire una macro? non
conosco l'istruzione! Tieni conto che le mie macro si chiamano
Chiudiprem (tasto Calcola premuto) e ChiudiNOprem (tasto Calcola non
premuto).
Grazie per la tua pazienza!

 
Eccomi qua, con puntuale ritardo(non ho lavorato per due gg) :o) Scrivi
DoCmd.RunMacro "ChiudiNOprem" oppure
DoCmd.RunMacro "Chiudiprem"
Quando scrivi il comando DoCmd.RunMacro, spostati col cursore su RunMacro e 
schiaccia F1. Ti appare una spiegazione più esauriente della mia sul comando. 
Se ad esempio devi eseguire 3 volte la Macro scriverai così:
DoCmd.RunMacro "ChiudiNOprem",3
Ciauz


 Ciauz
Ok, funziona tutto! Ti ringrazio veramente tanto per la tua pazienza e per
la tua disponibilitā. Spero un giorno di poter ricambiare il tuo aiuto!
Ciao Ciao