Newsgroup: it.comp.appl.access
Titolo: ANTIPATICI!!!!!!!!!!!!!!!!

Posto per la terza volta questa mia richiesta....
possibile che non vogliate o non sappiate rispondere!?!?!
Questo è il mio problema:
Devo controllare in ogni momento quante e quali maschere di un db sono
aperte... questo mi serve perché dopo un certo tempo (X minuti) di
inattività dovrei farle chiudere tutte e visualizzare una maschera di
log-in.
Non so se mi sono spiegato, mi servirebbe qualcosa di simile al tempo di
attesa per far partire uno screen-saver, ma lo funzione su timer è solo
sulla scheda singola, non sul file db e poi non so come intercettare tutti
gli eventi di "attività" (click del mouse, pressione tasti ecc...)
P.S. sto lavorando in Access 97
GRAZIE MILLE A CHI MI DA' QUALCHE DRITTA!!!!

 ha scritto nel messaggio
news:nhOX7.8792$s04.3...@news.infostrada.it...

Non è che non ti vogliamo rispondere, è che la risposta è complessa e ci
costringe a programmare per te per un'oretta.
Posso darti qualche suggerimento.
Creati una tabella con: NomeMaschera, ApertaSìNo, TimerApertura,
TempoDiApertura.
All'apertura di una maschera scrivi nella tabella i dati mettendo in
TimerApertura il valore time.
Una funzione imposta l'intervallo timer della maschera aperta ai valori di
TempoApertura. Su questa maschera "Su Timer" imposterai il codice di
controllo: if me.dirty then...else ...
Ripeti la procedura per le altre maschere.
Potresti inoltre realizzare tutto direttamente nella maschera e senza la
tabella.
Ovviamente è solo un esempio e va sviluppato.
Spero di esserti stato d'aiuto,
Ciao, Carlo

 ha scritto nel messaggio
news:5fVX7.3950$%B.15...@twister2.libero.it...


Come è stato diplomatico CARLO, invidiabile....!
Io evito di esprimermi, un pò perchè è clima Natalizio.
In ogni caso sono riuscito a fare qualcosa in qualche minuto
non proprio un'oretta, ma perchè avevo qualcosa di già fatto.
Quello che ti posto restituisce un Array che contiene l'elenco delle Form
Aperte.
Ovviamente prima di richiamare la Funzione devi Distruggere l'Array:
Quando Richiami la Funzione:
Erase FArrayName()
FormsAreOpen
'***********************  Codice da mettere in un MODULO
******************************
Option Compare Database
Option Explicit
Public FArrayName() As String
Function FormsAreOpen()
   Dim f As Form
   Const conObjStateClosed = 0
   Const conDesignView = 0
   Dim x As Integer
   For Each f In Forms
      If SysCmd(acSysCmdGetObjectState, acForm, f.NAME) <> conObjStateClosed
Then
          If Forms(f.NAME).CurrentView <> conDesignView Then
              ReDim Preserve FArrayName(x)
              FArrayName(x) = f.NAME
              x = x + 1
          End If
      End If
   Next
End Function
'***************************************************************************
****
Ora con l'Array fai quello che ti pare....!!!
--
@Alex
*--------------------------------------------------------------------------*
Alessandro B.
Sito Comune      :   
http://www.sitocomune.com
Sito Personale   :   
http://digilander.iol.it/ik2zok/
*--------------------------------------------------------------------------*

 possibile che non vogliate o non sappiate rispondere!?!?!
Non mi pare il miglior modo di farsi rispondere.
Fortunatamente a natale siamo tutti piu' buoni e quindi hai avuto qualche
risposta.
In questo momento ho solo il tempo di leggere l'oggetto del tuo messaggioe
ti dico solo questo:
Qui non c'e' il servizio assistenza tecnica cui versi un milione di
abbonamento annuo per cui protesti se dopo un po' non ricevi risposte, qui
c'e' solo gente che programma di mestiere e per pura passione e spirito di
collaborazione, scambia le proprie idee e da i propri suggerimenti.
Se non ottieni risposta ci sono diverse possibilita':
1- Siamo sotto le feste e la gente non ha la testa per pensare pure ai
problemi degli altri
2- La tua domanda non si capisce
3- Hai chiesto di avere fatto un programma (o parte di esso) gratis
4- Sei stato in qualche modo offensivo e/o lesivo della dignita' altrui o
del ng
5- In questo momento nessuno ha avuto il tempo di concentrarsi su cio' che
chiedi.
Come vedi, in nessuno dei casi puo' accadere che qualcuno abbia il diritto
di protestare nei confronti degli altri.
Anch'io, che frequento questo ng da anni, a volte non ho avuto risposta, ma
non mi e' venuto in mente di inveire contro gli altri.
Ora mi sono stancato di scrivere.
Buon anno
Sib
--
----------------------------------------------------
la mia home:
http://digilander.iol.it/syb
----------------------------------------------------
il sito comune di it.comp.database.access:
http://www.sitocomune.com
----------------------------------------------------
4000 anni fa', il saggio egizio Ptahhotep scrisse:
"... perche' non esistono saggi per nascita."
------------------------------------------------------
Saturiamo ECHELON:
usama bin laden saddam attentato medio oriente

 non mi e' venuto in mente di inveire contro gli altri.
Beh, sei antipatico lo stesso pure tu!!!
Tič!
Antonio

 ha scritto nel messaggio
news:rF%X7.4722$SE3.1...@twister1.libero.it...


 log-in.
Prepara una tabella con tanti record quante sono le forms del tuo db,
mettendo una campo nome e un campo data ora, più un campo sì/no per indicare
se la form è aperta. All'apertura del db setti la data ora di ogni form alla
data ora corrente e metti il flag tutto a no.
Per ogni apertura di una form setti il record corrispondente a sì e metti la
data-ora corrente. Ad ogni evento clic del mouse o keypress di ogni
controllo di ogni maschera vai nella tabella e setti la data-ora corrente
per la form corrispondente. Ad ogni chiusura di form setti a no il flag.
Metti poi una form nascosta con il timer a X minuti. L'evento timer di
questa form deve testare la tabella e per tutte le form aperte vedere se la
data ora è maggiore di X minuti. A quel punto stronchi il programma...
Però... ma chi tofaafà??!?!?!
Antonio

 non mi piace l'indifferenza, ecco tutto....
E a noi non piace chi non scrive DOPO il quoting!!!
Antonio


Certo Antonio che di tutte le complicazioni questa è la più
grossa......!!!!!(prova a guardare il mio POST precedente)
Secondo me hai mangiato veramente pesante e non hai smaltito.
Mi sei diventato ANTIPATICO.... !  ;-)
Una parola la merita DOPPIAZETA19 anche se è NATALE....!
Hai detto un mare di STRON...ZATE.
Nessuno è qui obbligato a rispondere o a scusarsi, gia Sib è stato un
SIGNORE a spiegarti, ma
la tua risposta mi pare inutile.
L'indifferenza non è una morale da tirare fuori in un NG di appassionati di
ACCESS(o altro) perchè
ti fa sentire piccolo.........!!!!
Pazienza, ne serve molta, anche con chi sputa sentenze.....!


 Pazienza, ne serve molta, anche con chi sputa sentenze.....!
In fondo, in fondo siamo un po' tutti dei culattoni raccomandati!!!
Antonio

 ha scritto nel messaggio
news:2g0Y7.4812$SE3.1...@twister1.libero.it...

VABBE'
non è mai tardi per imparare.....
che vi devo dire?
scusate....
anche se a giudicare dalle risposte ricevute non mi sembra che non ci fosse
nessuno capace di farlo... ;-)
grazie ancora....
BUON ANNO!!!!


GRAZIE per una tua eventuale risposta!

 30-40 controlli per form....!!!)
No!
Ed infatti è proprio qui la rogna. Se esistesse un evento di una form tipo
"Su Smucìna" allora sarebbe  tutto più semplice, ma così è un lavorone...
Antonio

 ha scritto nel messaggio

E' bello vedere che anche a capodanno sei del tuo solito gaio e cordiale
umore ;-)
Auguri
Sib

 wrote in message
59MY7.18480$s04.8...@news.infostrada.it...

Come si dice? Si ride per non piangere...
Antonio