Newsgroup: it.comp.lang.javascript
Titolo: Avviso Windows scadenze da Tab DB Access

Salve a tutti
mi scuso se quello che posto può sembrare un OT, ma ho un esigenza che
credo solo uno script potrà risolvere.
Il fatto:
In un Mdb di Access ho una Tabella che ha tra gli altri campi, uno che
contiene una data scadenza con formato gg/mm/aa.
Access purtroppo non permette l'esecuzione delle funzioni se non è in
esecuzione il DB.
Domanda:
E' possibile (e se lo è come... graditi esempi visto che non ne so nulla)
con uno script connettermi alla tabella di cui sopra, e con un SQL tirare
fuori tutti i record (magari con una popup) il cui campo scadenza contiene
la data del giorno e il cui campo "visualizzato" è = a no? E possibile poi
passare direttamente a Si il campo "visualizzato" qualora lo stesso è
realmente visto? Avevo pensato di mandare in esecuzione automatica con la
pianificazione questo script.
Grazie infinite
-- 
Pablitomf (Maurizio Facciuti)
“Quando non ti eserciti ricorda che qualcuno in qualche posto si sta
allenando e, quando lo incontrerai, ti batterà”.
Ed Macauley 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio
news:co4r30$qvk$1...@news.newsland.it...

...a dire il vero non ci ho capito molto...comunque non credo proprio che
questo sia il gruppo giusto...ti conviene postare il quesito sul gruppo
macromedia dreamweaver, è il tipico lavoro che si può fare con dreamweaver
Ultradev (ovvero con MX) a naso farei una query in access dopodicchè con un
recordset tirei fuori quello che serve...

pianificazione questo script.
Se lo mandi in esecuizione automatica con la pianificazione non e'
meglio lasciar perdere il popup? Usa un file di log in cui scrivere i
risultati.
Un paio di righe da modificare e adattare alle tue esigenze, solo per
darti un idea di dove cercare:
function getdati(data){
// ritorna i record in una stringa per la data
 var connection = new ActiveXObject("ADODB.Connection");
 var DB = "driver={Microsoft Access Driver (*.mdb)};dbq=test.mdb";
 connection.Open(DB);
 var s="";
 var query="SELECT * FROM tabella where data='"+data+"' and
visibile='no'";
 var rec = connection.Execute(query);
 while (!rec.EOF) {
	s += rec("data")+"|"+rec("visibile")+"|"+rec("pippo")+"\n";
	rec.MoveNext();
 }
 connection.Close();
 return s;
}
function update(data){
// modifica a visibile=si i record  per la data
 var connection = new ActiveXObject("ADODB.Connection");
 var DB = "driver={Microsoft Access Driver (*.mdb)};dbq=test.mdb";
 connection.Open(DB);
 var query="UPDATE tabella SET visibile='si' where data='"+data+"'";
 var upd = connection.Execute(query);
 connection.Close();
}
BTW non e' strettamente necessario avere Access per usare i files .mdb
:-)
'bye

recordset tirei fuori quello che serve...
Se uno non ha Dreamweaver? Si spara? :-)
Al massimo puoi dirgli di chiedere sul gruppo it.comp.lang.perl, visto
che uno script in Perl puo' fare benissimo quello che chiedeva :-)
'bye

 ha scritto nel
messaggio news:pi8cq0pepugt10g4o...@4ax.com...

...è vero...è come dire che se uno non ha word non scrive...con dreamweaver
saprei metterci le mani ma ahimè  in Perl o con altri sistemi non saprei da
che parte iniziare...vorrà dire che mi metto in un angolino buono buono e
seguo gli sviluppi della cosa...

 'bye
Ciao e grazie.


Pablitomf ha scritto:
[CUT]
Vabbè penso d'aver risolto così :
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:\db1.Mdb")               ' Qui ci metti il
path dell'mdb
Set Rs = Db.OpenRecordset("Select * From Dipendenti Where ScadPsogg=" &
Clng(date))    'qui ti apri il rst della scadenza
'Se c'è una scadenza flaghi il aftto di averla mostrata altrimenti ti
limiti al msgbox
If Rs.bof=false Then
MsgBox "Attenzione rilevate scadenze in data " & Date
Db.Edit
Db("visto")= -1
Db.Update
End If
'Chiudi tutto
Rs.Close
Db.Close
Set Rs = Nothing
Set Db = Nothing
Set DbEng = Nothing


 Pablitomf ha scritto:
[CUT]
Anzi ancora meglio (lo invio a chi potesse servire): 
Dim DbEng    'DbEndine DAO 3.6
Dim Db          'Database Dao
Dim Rs           'Recordset Dao
Dim i
dim messaggio
Set DbEng = CreateObject("DAO.DBengine.36")
Set Db = DbEng.OpenDatabase("C:\Mio.Mdb")
Set Rs = Db.OpenRecordset("SELECT Cognome, Nome, ScadPsogg, visto FROM
Dipendenti WHERE (((ScadPsogg)="& Clng(date)&") AND ((visto)=False));")
If Rs.bof=false Then
 
    With Rs
        Rs.MoveFirst
        do
	messaggio = messaggio & " " & chr(13) & chr(10)  & rs.fields("cognome") &
" " & rs.fields("nome")
	Rs.MoveNext
        loop until rs.eof 
    End With
MsgBox "Rilevate scadenze in data " & Date & vblf & messaggio,, "Permessi
di Soggiorno !!!"
End If


 " " & rs.fields("nome")
Conviene se ti abitui al case sensitive; inoltre fai attenzione perché
quell'rs.fields("cognome") senza il .value finale funziona solo in vbscript
perché ci "attacca" la proprietà di default => rischi poi di passare a
jscript o altro e non ti funziona più
-- 
"e mai che mi sia venuto in mente
 di essere più ubriaco di voi
 di essere molto più ubriaco di voi"
									  F.D.A.

 jscript o altro e non ti funziona più
e come dovrei fare?
Come sempre obbligato.


 e come dovrei fare?
rs("cognome").value
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

 rs("cognome").value
Grazie... come sempre preciso ed esaustivo.


 generica che può fare al caso tuo).
Lo so, sono io una schiappa ma non l'ho trovato.
domandina :
Set Rs = Db.OpenRecordset("SELECT Dipendenti.ScadPsogg FROM Dipendenti
GROUP BY Dipendenti.ScadPsogg HAVING (((Dipendenti.ScadPsogg) Between 
CLng(Date()) And CVDate(Format(DateAdd("d",15,CLng(Date())),"dd/mm/yy"))))
ORDER BY Dipendenti.ScadPsogg;")
Perchè l'esecuzione mi da errore Riga :9 Errore previsto ')' Carattere 182?


 Perchè l'esecuzione mi da errore Riga :9 Errore previsto ')' Carattere 182?
Saranno forse le virgolette? ("dd/etc", legge quelle virgolette e sta
quindi chiudendo lì la query. Con vbscript forse risolvi raddoppiandole
(""dd/mm/yy""); idem ovviamente per le altre virgolette nella query; ma
meglio se chiedi queste cose nel newsgroup asp) perché siamo più che
abbondantemente OT (e c'è anche a chi come me viene l'orticaria e il gomito
del tennista a leggere vbscript! ;-) )
Consiglio: impara a scrivere stringhe sql anziché copiaincollarle dal
wizard di access che fa schifo e mette decine di parentesi inutili (nel tuo
caso puoi semplicemente rimuovere TUTTE le parentesi dato che dopo l'having
hai solo and).
