Newsgroup: it.comp.appl.access
Titolo: Aggiungere giorni non festivi ad una  data!!

 
          Ciao a tutti/e!
Il problema che ho oggi è questo:
Ho nella mia maschera un controllo calcolato di tipo data che chiamerò qui
txtDataCalcolata. Questa data è uguale alla data che l’utente inserisce in
un altro controllo che chiamo qui txtDataCalendario (inserita attraverso un
piccolo calendarietto) con l’aggiunta di due giorni…..cioè
txtDataCalcolata=txtDataCalendario + 2 giorni .Fin qui capirete come non ci
siano assolutamente problemi.
Il fatto è che questi due giorni aggiunti non devono essere festivi ed anche
il valore di txtDataCalcolata non deve essere festivo....altrimenti si passa
al giorno successivo.
Le date saranno censite come festive (campo booleano si/no) attraverso una
piccola tabella nella quale l’utente potrà inserire le festività. (non si
sanno a priori le festività inserite che possono essere anche americane ,
inglesi, o francesi. Si sa solo che saranno sicuramente festivi il sabato e
la domenica). Come posso realizzare tutto questo?Lasciando anche all’utente
la possibilità di censire le festività con una sua tabellina?
Mi spiego meglio con un esempio: poniamo che i giorni 03/10/05 (Lunedì) e
05/10/05(Mercoledì) siano festivi. Se l’utente inserisce in
txtDataCalendario la data di oggi 30/09/05, mi aspetto che in automatico in
txtDataCalcolata mi risulti 06/10/05 (Giovedì). Questo perché le date
01-02-03-05 di ottobre sono festivi.
Come potrei realizzare tutto questo?Chi ha un suggerimento?
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

          Ciao a tutti/e!
[cut]
Ciao,
tempo fa ho avuto la tua stessa necessità.
Per dare all'utente la possibilità di gestire autonomamente l'elenco delle 
date festive ho creato, come già avevi pensato, una tabella con record da un 
solo campo data; ogni record conterrà una data che dovrà essere esclusa dai 
risultati dei tuoi calcoli.
Ho scritto poi una funzione, chiamiamola DataOk(DataDaControllare AS Date), 
che restituisce Vero solo se la data passata nell'argomento 
DataDaControllare è valida (quindi non è compresa nella tabella ne è una 
data di fine settimana o altri criteri che sceglierai tu).
Ricordo che, per guadagnare qualcosa in velocità ed evitare di leggere in 
continuazione dalla tabella, alla prima chiamata della funzione trasferivo 
l'elenco delle date in un array statico (a meno che tu abbia un elenco di 
date immenso...) e utilizzavo questo per confrontare le date.
Come origine del campo calcolato puoi scriverti una funzione che ti 
restituisca la data che ti serve; la routine aggiungerà i due giorni alla 
data originaria, controllerà tramite DataOk se la data risultante è 
consentita, se non è così puoi attivare un ciclo che aggiunga un giorno ad 
ogni passaggio e controlli nuovamente la data risultante fino a quando 
raggiungi una data valida.
Ciao,
Mat. 

 Come potrei realizzare tutto questo?Chi ha un suggerimento?
Vai sul Sito Comune Link qui sotto e nella Sezione General leggi la FAQ di
Enrico Virginio intitolata "6.138 Sommare giorni lavorativi ad una data".
-- 
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------

 Come potrei realizzare tutto questo?Chi ha un suggerimento?
Io ho risolto lavorando su una tabella che contiene solo i giorni
lavorativi.
Ho un programmino che la riempie una volta ogni tanto, e poi confrontare
due date diventa solo questione di contare i record.
-- 
Boris: I cattivi, per inciso, sono gli uni e gli altri.