Newsgroup: it.comp.appl.access
Titolo: Apertura applicazione

Buongiorno al NG!!
Ho una routine sull'evento load della maschera principale, e vorrei che
questa venisse eseguita solo una volta (alla prima apertura
dell'applicazione); come posso fare?
Quando si richiamano le altre maschere, la principale viene chiusa e
conseguentemente quando viene riaperta la routine viene rieseguita!...avevo
pensato di rendere solo invisibile la principale.....ma gradirei utilizzare
un'altra soluzione che non mi faccia tenere aperta una maschera
inutilmente............la butto lě: esiste un evento "primordiale"...... che
si verifica solo all'apertura applicazione??
Ringrazio anticipatamente.........

> "Fabio Arenella" news:MWTm9.207982$pX1.7...@news2.tin.it...:

    Potresti usare una variabile booleana statica:
        Sub Form_Load
            Static s_bFatto As Boolean
            If s_bFatto = False Then
                s_bFatto = True
                '
                ' Qui quello che vuoi sia fatto una sola volta.
                '
            End If
        End Sub
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

 si verifica solo all'apertura applicazione??
Forse, da quello che dici, intendi all'apertura del database... Vai in
Strumenti/Avvio, dove puoi specificare una maschera/tabella da aprire appunto
all'apertura del database, e che puoi utilizzare per eseguire del codice alla
partenza.
Oppure, e sarebbe la soluzione che preferisco, ti crei una funzione del tipo
"PrimaVolta" dentro un modulo, dove definisci una variabile statica da
utilizzare come semaforo. Per intenderci, una cosa del tipo:
Public Sub PrimaVolta()
Static Semaforo As Integer
If Not Semaforo Then
    Semaforo = True
'... il codice che vuoi eseguire una sola volta
    End If
End Sub
da richiamare nell'evento apertura della tua maschera principale.
HTH.
Ciao. Claudio.

             Static s_bFatto As Boolean
Però la vita di una variabile static definita a livello di form dovrebbe essere
comunque limitata alla vita della form stessa... se chiudo la form anche la
variabile statica muore con lei (che tristezza...)
Per quello che ho consigliato di inserire il giochino in un modulo.
Ciao. Claudio.

> "Maurizio Borrelli" news:anh2k5$e12q9$1...@ID-52090.news.dfncis.de...:
    Scusa!!! Ho scritto una sciocchezza.
    La variabile la dichiarerai globale in un modulo standard di Visual
Basic. Esempio corretto:
        ' Modulo1
        '
        Public g_bFatto As Boolean
        Sub Form_Load
            If g_bFatto = False Then
                g_bFatto = True
                '
                ' Qui quello che vuoi sia fatto una sola volta.
                '
            End If
        End Sub
    Ovviamente dovrai fare molta attenzione a non riassegnare False a tale
variabile. Ecco perche' si dovrebbe preferire un Modulo di classe che
permette la gestione di proprieta' di sola lettura. Se ti interessa se ne
puo' parlare.


> "Claudio" news:SdUm9.175596$ub2.3...@news1.tin.it...:
    Ehi Claudio... Vedo che facciamo lo stesso tipo di puttanate! :-)))


.risolto.........ho una maschera chiamata ENV (per non permettere all'utente
di utilizzare ALT + F4 per uscire, soluzione fornita da Sitocomune..) che è
sempre aperta e rimane nascosta. Ho inserito nell'evento load di questa le
istruzioni che devo eseguire solo una volta...........visto che cmq deve
rimanere aperta..ne approfitto!! :-)
Grazie cmq per la gentile disponibilità dimostrata!!! :-)

si verifica solo all'apertura applicazione??
c'e' la macro autoexec...
--
lorenzo coronati
---