Newsgroup: it.comp.appl.access
Titolo: checkup generale all'avvio del DB, possibile?

ciao ragazzi,
sono un neofita del ng e mi rivolgo a voi perché sono sicuro che saprete
darmi una soluzione al mio problema che mi assilla ormai da un paio di
giorni! Allora, io ho un database in cui ad ogni record è associata una
data, diciamo una data di scadenza. Io vorrei fare in modo che quando apro
il database (eseguo il form "menu") venga controllata la data di scadenza
del prodotto memorizzato in ogni record, così che magari con un popup o in
qualche altro modo posso venir avvisato delle scadenze.
Come posso fare? Un metodo che conosco sarebbe fare una maschera che passa
di record in record e controlla le date... ma questo, oltre che molto lento
è anche molto brutto. Se ci fosse un modo per fargli fare il tutto in
sottofondo sarebbe meglio!
ringrazio chiunque mi aiuterà, ciao!
Pibe

"Pibe" <pib...@hotmail.com.nonciprovare> ha scritto nel messaggio
news:9urdkq$n5l$1...@nreadb.inwind.it...

E perché non ti crei una query di selezione che, per il campo scandenza, ha
dei criteri basati sulla data del giorno?
All'apertura del database  potresti visualizzare i dati  della query in una
maschera, o in una sottomaschera, o in una casella di riepilogo, o
nell'anteprima di un report o nella maniera che ritieni più opportuno.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


certo, potrei, ma quello che volevo fare era fare in modo di venire
avvisato, che ne so, da una finestra di popup o da un messaggio sonoro o non
so da che altro... quando un record ha superato la data di scadenza. Poi
visualizzare i record che interessano tramite una query di selezione, come
dici tu, č questione di 10 secondi... ma per il messaggio di avviso come
faccio? E' possibile una cosa del genere?
ciao e grazie
Pibe

"Pibe" <pib...@hotmail.com.nonciprovare> ha scritto nel messaggio
news:9urdkq$n5l$1...@nreadb.inwind.it...

Io ho creato una cosa del genere, digitando un tasto che mi avvia la stampa
dei badge validi va a verificare la data di scadenza, in pratica mi
estrapola solo quelli con data >= alla data del momento.
Il codice è:
DoCmd.OpenReport stDocName, acPreview, , "Scadenza >= date()"
Poi puoi rettificare tu con un IF se la data non è così ed inserire un
MsgBox di avviso.
Ciao
Rita
P.S.: Ma ora andiamo a dormire che è tardi ragazzi!!!!

"Pibe" <pib...@hotmail.com.nonciprovare> ha scritto nel messaggio
news:9usurj$2o8$1...@nreada.inwind.it...

L'IF potrebbe essere questa:
If  Scadenza >= dataodierna Then
     DoCmd.OpenReport stDocName, acPreview, , "Scadenza >= date()"
    Else
     MsgBox ("TUO MESSAGGIO!!!")
    DoCmd.OpenReport stDocName, acPreview, , "Scadenza <= date()"
    End If
In pratica procede alla stampa dei badge validi ed a quelli non validi
avvisandoti con un messaggio.
Il codice č associato all'evento click di un pulsante.
Ciao
Rita


mmm... però scusa, se è associato ad un click di pulsante non è una routine
che esegue all'avvio del database. Io vorrei semplicemente che sia avviata
una routine (non so, da una query o da un report?) che controlla la scadenza
per ogni record, e SE c'è qualcosa di scaduto mi venga un ALERT! da cui poi
mi basta fare una query di selezione o come dicevi tu un report che mi
mostra i record scaduti. Ma il mio problema è fare in modo che tutti i
records siano prima controllati... sai aiutarmi ancora?
ciao e grazie
Pibe

"Pibe" <pib...@hotmail.com.nonciprovare> ha scritto nel messaggio
news:9urim4$ph8$1...@nreadb.inwind.it...

Se la maschera di apertura č a visualizzazione Maschere continue ed ha come
origine record la query di selezione di cui stiamo parlando, a fronte
dell'evento "Su caricamento" della maschera verifica se la query contiene
record (ad esempio con una DCount) e se li contiene apri una maschera popup
con tanto di segnale acustico, altrimenti chiudi la maschera di apertura.




personalmente sull'evento su apertura della maschera iniziale farei il
solito codice
dim db as database
set db=currentdb
dim rs as recordset
set rs=db.openrecordset("QUERY DI CONTROLLO CON DATA < della data
odierna")
if rs.eof then msgbox ("Prodotti scaduti")
rs.close
set db=nothing
penso sia un metodo semplice e veloce!
forse si può fare ancora più velocemente con un dcount o similare ma
non li conoscevo prima di aver cominciato a leggere questo NG tre
giorni fa.
Saluti. Emanuele