Newsgroup: it.comp.appl.access
Titolo: avviso scadenze da windows

Ho creato un Db per la gestione scadenze e funziona tutto ok.
La mia domanda č questa č possibile che all'avvio di windows, senza passare
per access, le scadenze del giorno mi vengano avvisate da desktop con
qualche messaggio e se si, come????
Ringrazio anticipatamente per la risposta


wrote:

se le scadenze sono memorizzate coem record nel db access...devi per
forza aprire il db...
magari si puo' fare qualcosa con WSH (Windows Scripting Host) ma nn
saprei...

 ha scritto nel messaggio
news:7hd8hv4oelqjbi3g8...@4ax.com...

Già; le istruzioni sono le stesse come se da access utilizzi OLE per aprire
un altro mdb;
Es.
dim objAcc
set objAcc = createobject("Access.Application")
objAcc.OpenCurrentDatabase ("c:\Documenti\mioDatabase.mdb")
objAcc.Visible = true
... tue operazioni...
set objAcc = nothing
Ciao.
-- 
Sergio MAZZA

... tue operazioni...
ecco appunto :) immaginavo infatti potesse essere possibile cosi...
grazie per i suggerimenti sergio! :)
Ciao!

 ha scritto nel messaggio
news:pwWQa.60962$qa5.1...@news2.tin.it...

Ciao Alfonso
Oltre all'ottimo consiglio di Sergio se vuoi una soluzione piů leggera che
non ha bisogno di Access e che utilizza Dao ....
VbScript
-------------------------------
Dim DbEng    'DbEndine DAO 3.6
Dim Db          'Database Dao
Dim Rs           'Recordset Dao
Set DbEng = CreateObject("DAO.DBengine.36")
Set Db = DbEng.OpenDatabase("C:\Documenti\MioDb.Mdb")
Set Rs = Db.OpenRecordset("Select * From Scadenze Where Scadenza=" &
Clng(date))
If Rs.bof=false Then
   MsgBox "Attenzione rilevate scadenze in data " & Date
   'Eventualmente Apri Access con l'automazione
End If
Rs.Close
Db.Close
Set Rs = Nothing
Set Db = Nothing
Set DbEng = Nothing
-----------------------------------
Ciao Giorgio

Grazie Giorgio per l'ottimo suggerimento perň vorrei dirti che non mi sento
ancora all'altezza per passare a DAO qundi mi sforzerň ancora un pň per
rimanere cosě, quindi devo assolutamente capire bene come fare.

 .vbs (Visual Basic Script).
Quello che scrivi invece lo devi scrivere correttamente DOPO il quoting!!!
Antonio

 Antonio
Faccio io l'avvocato difensore. Il testo che ha riportato Alfonso era preso
da una mail che lui mi ha inviato e io gli ho chiesto di re-inviarla
all'NG...
Ciao.
--
Sergio MAZZA

 ha scritto nel messaggio
news:bf5qag$e4k$1...@canarie.caspur.it...

SGRUNT!
Antonio

 Antonio
Dai, sarà per la prossima volta...
Ciao.
--
Sergio MAZZA

Ragazzi se ho commesso qualche scortesia me ne assumo tutte le colpe e me ne
scuso ampiamente. non sono tanto pratico per come si articola il newgroup
per esempio rispondere dopo il quoting etc etc.. ma vi assicuro che il tutto
è fatto ingenuamente. Comunque sia siete bravissimi grazie ancora

 Clng(date))
Il file vbs lo lancerei con l'operazione pianificata ogni minuto
MAssimiliano
p.s. giorgio cerca di pareggiare l'1-0 di ieri

 ha scritto nel messaggio
news:bQxRa.22$w8...@news.edisontel.com...

Cia Ma
Al posto di Clng(date) metti Cdbl(Now)
ho pareggiato :-)) ?
Ciao Giorgio

 ho pareggiato :-)) ?
Sicuramente. E con una bella azione ben manovrata.
MAssimiliano

 ho pareggiato :-)) ?
Mi dà errore di sintassi (virgola) nell'espressione della query 'scadenza 0
37819,7342..
Non accetta double e neanche Format(now, "gg/mm/aa hh:nn")
Insomma Goal annullato, non hai retto allla prova televisiva. Io continuo a
provare, fammi sapere
MAssimiliano

 ha scritto nel messaggio
news:hszRa.100$w8...@news.edisontel.com...

Ciao Ma
Hi hi ... ovviamente dà errore (mia dimenticanza), se concateni la stringa
non funziona perchè trasforma il simbolo decimale in virgola e la virgola è
un separatore di campo in Sql. Comunque la soluzione c'è in VBA basta usare
Str(Cdbl(Now)) ma in Wsh non c'è questa funzione quindi
Where Scadenza=" & Replace(cstr(Cdbl(Now)),",",".")
Naturalmente tiene conto anche dei secondi, io in questi casi utilizzo anche
un flag che identifica se la scadenza è stata vista o no quindi ...
Where Scadenza<=" & Replace(cstr(Cdbl(Now)),",",".")  &  " AND Visto=False "
Se vuoi puoi anche predisporre un loop interno intervallato dalla funzione
Wscript.Sleep(60000) (60000 sono i millisecondi ovvero un minuto), in questo
modo puoi fare a meno di schedularla ogni minuto e caricare tutte le volte
DAO.
Ciao Giorgio.

 p.s. giorgio cerca di pareggiare l'1-0 di ieri
Perché Clng(date) invece di CVDate(date)?
Scadenza=CVDate('" & date & "')"
Ciao.
--
Sergio MAZZA


Goal!!!!
Giorgio - Massimiliano = 1-1
ciao e tks
MAssimiliano

 DAO.
dai portati in vantaggio, fuori lo script
MAssimiliano


Ciao Sergio
Semplicemente per abitudine a trattare le date senza le ore e i minuti, e
dimenticando la potenza del buon vecchio Jet.
MAssimiliano  al posto di
Where Scadenza<=" & Replace(cstr(Cdbl(Now)),",",".")  &  " AND Visto=False "
Metti
Where Scadenza<=CVDate('" & Now &  "') AND Visto=False "
è più comodo.
Grazie Sergio
Ciao Giorgio

 ha scritto nel messaggio
news:tSARa.134$w8...@news.edisontel.com...

Ciao Ma basta che imposti un do loop non c'è neanche bisogno di dichiarare
Wscript.Sleep.
-----------------------
Dim T1
T1=Timer
DO
     If T1+3600*8 < Timer Then exit Do ' Dopo otto ore esce dal loop
     Set Rs = Db.OpenRecordset("Select * From Scadenze Where
Scadenza=CvDate('" & Now & "')"
     If Rs.bof=false Then
        MsgBox "Attenzione rilevate scadenze in data " & Now
       'Poi fai quello che vuoi
    End If
    Wscript.Sleep(60000)  ' Attesa di un minuto
LOOP
-------------------------
Ciao Giorgio

Scusa Sergio ti volevo chiedere un'altra cosa, se ci sono scadenze, si può
ottenere il conteggio delle scadenze trovate e mettere SI al campo visto ???
io ho provato così ma non funziona:
Dim DbEng    'DbEndine DAO 3.6
Dim Db          'Database Dao
Dim Rs           'Recordset Dao
Set DbEng = CreateObject("DAO.DBengine.36")
Set Db = DbEng.OpenDatabase("C:\Documenti\calcologiorni.Mdb")
Set Rs = Db.OpenRecordset("Select * From Scadenze Where Scadenza=" &
Clng(date))
If Rs.bof=false Then
   MsgBox "Attenzione rilevate scadenze in data " & Date
 Db.Edit
 Db.("Visto")= -1
 Db.Update


 Set DbEng = Nothing
Se il recordset che apri č Updatable sě.
Comunque la sintassi dovrebbe essere:
Db.Edit
Db("Visto")= -1 <-- senza punto prima della tonda
Db.Update
Ma se fai vedere un msgbox e non richiedi conferma dell'operazione, potresti
fare direttamente un update di tutte le scadenze...
Ciao.
--
Sergio MAZZA


Umm.. piccola correzione
Rs.Edit
Rs!Visto = -1
Rs.Update
Ciao Giorgio


Dove trovo le istruzioni per Vscipt?
MAssimiliano


E' uguale (almeno in VBA); io utilizzo sempre la tua sintassi ma in VBS non
ho ancora utilizzato l'accesso a tabelle quindi per non sapere né leggere né
scrivere...
Ciao.
--
Sergio MAZZA

 MAssimiliano
http://www.microsoft.com/italy/scripting/
Ciao.
--
Sergio MAZZA


Ciao MaA
Qui trovi le istruzioni e l'aggiornamento alla versione 5.6
http://msdn.microsoft.com/library/default.asp?url=/nhp/default.asp?contentid
=28001169
(Ricomponi l'indirizzo se va a capo)
Ciao Giorgio

 ha scritto nel messaggio
news:bf8gk2$gq8$1...@canarie.caspur.it...

Ciao Sergio
La correzione era riferita a far utilizzare il recordset e non il database
(Rs.edit al posto di Db.edit).
Per quanto riguarda Rs!Visto o Rs("Visto") o Rs.Fields("Visto") è la stessa
cosa sia per VBA sia per VBS.
Ciao Giorgio

 Ciao Giorgio
Scusa...
Ciao.
--
Sergio MAZZA