Newsgroup: it.comp.appl.access
Titolo: Chiusura di Access ad una data ora

Ho una maschera in cui già utilizzo la proprietà timer per eseguire delle
query cicliche ogni tot minuti, adesso vorrei che alle 03:30 di notte Access
si chiudesse (poi lo riapro con le Operazioni pianificate di windows alle
4:00) come devo impostare il costrutto if basato sul fatto che non posso
settare l'intervallo timer della maschera in quanto mi serve per le query?
If Hour (Time)  compreso tra 3:30 e le 4.00 esegui la macro ecc. Thanks
Med

 ha scritto nel messaggio

alla fine del codice che esegue le query cicliche metti:
if time()>#3.30# then quit
Sib

> if time()>#3.30# then quit
non riesco a farlo nel giusto intervallo
If Format(Time(), "hh:nn") < #12:00:00 AM# And Format(Time(), "hh:nn") >
#3:30:00 AM# And Format(Time(), "hh:nn") > #4:00:00 AM# Then
il problema si pone tra le 00:00 e le 3:30.
Med

 wrote in news:bm4eup$5ne$1
@
newsreader.mailgate.org
:

??
se formatti l'ora nel formato 24h:
if (time>3.30) AND (time<4.00) then    	
    	application.quit
endif
non ho capito come mai fai tutti i confronti mettendo anche mezzanotte...
-- 
+-------
| Paolo opg
|
| janickg ( at ) hotmail ( dot ) com
+-------

 non ho capito come mai fai tutti i confronti mettendo anche mezzanotte...
non funziona dalle 00:00 alle 3:30, nell'intervallo e dopo le 4:00 si. Può
essere la funzione format?
Med

 
non funziona... cosa?
sarò un pò duro, ma continuo a non capire il problema.
se vuoi solo che il db venga chiuso dopo le 3.30, dovrebbe essere 
sufficiente il ciclo if che ho postato...
se lo metti su timer, con le query che già esegui, alla prima esecuzione 
che avviene dopo le 3.30, il db si chiude...
se alle 4 riapri, la condizione
(time>3.30) AND (time<4.00)
(con i format del caso) impedisce che il db si richiuda fino alle 3 del 
giorno successivo...


> non funziona... cosa?
.............
credo che dipendesse dalla funzione format, non so' perchè ma Access
continua ad impostarmi il formato anglosassone nonostante il Format sia
impostato sulle 24h e le impostazioni data/ora di Windows siano "italiane".
Comunque ho risolto in effetti la soluzione che mi hai suggerito era
corretta, thanks a lot :-)
Med

 ha scritto nel messaggio

Scusa, ma perche' metti tutte ste istruzioni format?
qual'e' il motivo?
e poi che c'entra il controllo di mezzanotte?
if time()>#3.30# and time()<#4.00# then quit
Sib

 sarò un pò duro, ma continuo a non capire il problema.
Non credo che dipenda dalla tua "durezza"
questo 3d somiglia a un dialogo kafkiano, ognuno parla per conto suo
presupponendo cosa dice l'altro ma senza ascoltarsi realmente.
Sib

 if time()>#3.30# and time()<#4.00# then quit
Lo scritto sopra, perchè Access continuava ad impostarmi in automatico il
formato ora anglosassone e con questo formato dalle 00:00 alle 3:30 non
funzionava, ma ho risolto il problema. Adesso va' anche senza "la
mezzanotte" :-) Grazie.
Med

 ha scritto nel messaggio

Mi fa piacere che hai risolto e prego per i ringraziamenti, resta pero' il
dubbio di capire COSA non funzionava da mezzanotte alle 3.30, mi pareva di
aver capito che in quell'intervallo NON doveva chiudersi.
Oltretutto, anche se ti corregge il #3.30# in #3.30 AM# il confronto con la
funzione time funziona ugualmente quindi insomma COSA non funzionava?
Sib

 funzione time funziona ugualmente quindi insomma COSA non funzionava?
no, a me non va' se uso la formattazione AM sto' provando in questo momento.
Credimi sto' cercando di capire anch'io la causa perchè sono curioso di
capire quanto te il motivo. Bye
Med

 ha scritto nel messaggio

Molto molto strano.
qui non e' un problema di formattazione.
quando tu scrivi #3:30:00 AM# NON stai scrivendo una stringa per cui e'
importante come viene formattata, stai scrivendo un orario che viene
interpretato cone un numerico.
analogamente Time() restituisce un orario anche lui interpretato come un
numerico, quindi in linea di principio non c'e' niente da formattare.
Completamente diverso il caso delle istruzioni SQL che, essendo delle
stringhe, richiedono attenzione nella formattazione.
tant'e che puoi fare questa prova, scrivi:
?cdbl(time())
Vedrai che se sono le 4 e 34 del pomeriggio ti restituira'
 0,690127314814815
e se scrivi:
?cdbl(#4:30:00 PM#)
Otterrai
 0,6875
che come vedi e' praticamente la stessa cosa,
menter se scrivi
?cdbl(#4:30:00 AM#)
Otterrai
 0,1875
che e' tutt'altra cosa, e ancora se scrivi:
?cdbl(#16.30#)
otterrai:
 0,6875
 esattamente come per #4:30:00 PM#
Quindi non vedo da dove possa scaturire il problema che manifesti.
Posta esattamente il codice che non ti funzionava.
Sib

 Quindi non vedo da dove possa scaturire il problema che manifesti.
Capisco che il formato datetime viene memorizzato come dato numerico e poi
viene convertito nel formato in cui si decide di visualizzarlo, ma credo che
il problema non risieda nel dbengine ma nel sistema operativo. Il computer
su cui si apre questo .mdb (ci entro con la teleassistenza) è un pasticcio
d'installazioni tra versioni in inglese e aggiornamenti in italiano del
sistema operativo e versioni inglesi e aggiornamenti in italiano di Office
anche di diverse versioni. Lungi da me di rimettere a posto la macchina di
questo cliente il quale non esperto ha voluto fare tutto di testa sua. Ti
dirò che mentre il problema del trattamento del formato ora è risolto (spero
:-)) ci sono altri problemi legati all'uso del DAO e anche problemi con le
stringhe sql. Insomma la base è marcia e il codice con le soluzioni da voi
proposte funziona più che bene su macchine ben tenute. Sono senza parole per
la disponibilità delle persone su questo newsgroup :-) Bye
Med