Newsgroup: it.comp.appl.access
Titolo: Calcolo dell'Inizio e fine settimana inesatto

In una query ho ricavato il numero della settimana da una data, come faccio
ad avere la data del primo giorno della settimana e la data di fine in
maniera corretta? Mi spiego. Sul NG ne ho trovati diversi di esempi che
fanno al mio caso e ne ho adottato uno ma il mio problema e che utilizzando
tale funzione opportunamente adattata e analizzando tutto il mese di Aprile
2003:
week_inizio:
DateSerial(Year([datariferimento]);Month([datariferimento]);Day([datariferim
ento])-Weekday([datariferimento];0)+1)
La funzione mi restituisce come primo giorno della settimana Lunedě
31/03/2003 anzichč il Martedě 01/04/2003 mentre tutte le altre settimane le
considera perfettamente come per esempio il mese di Maggio.
Inoltre accade lo stesso per il fine settimana utizzando:
week_fine:
DateSerial(Year([dataRiferimento]);Month([datariferimento]);7+Day([datarifer
imento])-Weekday([datariferimento];0))
solo che vengono considerati anche i giorni del mese successivo ad esempio
per Maggio il giorno di fine settimana per l'ultima del mese č Domenica
01/06/2003 anzichč Sabato 31/05/2003.
Non so piu che fare ed ho provato anche con tutte le costanti
FirstDayOfWeek, ma niente.
Grazie in anticipo per l'aiuto
Andrea
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


In realtà funzione benissimo. Nono puoi pretendere di dire che martedì è
diventato il primo giorno della settimana quando ti pare (nel tuo caso
aprile).
La funzione restituisce la data del primo e dell'ultimo giorno della
settimana, niente di più.
Siccome come al solito nessuno specifica qual'è il problema, ma si dà la
soluzione prima ancora di porre correttamente il quesito... in questo caso
ti prego di dirci... cosa vuoi? Il nome del giorno del primo del mese?
Oppure altro
Anni fa usavo questo controllo in un report
="Settimana n. " & Format([DataPeriodo];"ii") & " - compresa a calendario
dal " & PrimoGiornoSettimana([DataFattura]) & " al " &
Format((PrimoGiornoSettimana([DataFattura])+5);"Data in cifre")
che dava problemi di interpretazione perché richiesto il periodo di un mese
le date visualizzate dalla formattazione potevano dare risultati a cavallo
del mese.

OneEDP ha scritto:


Cerco di farmi capire meglio, scusa se non l'ho fatto prima.
Nella mia query faccio una ricerca su base trimestrale ma tenendo ben
presente l'identità delle settimane nel mese che adotto per fare dei
conteggi, quindi dal risultato ottengo record per record il numero delle
settimane incluse nell'intervallo richiesto. Detto questo mi viene chiesto
un interrogazione di 3 mesi (Giu Lug Ago) ma esposta sottoforma di
settimana, ovviamente se io lascio tale rappresentazione, la domanda nasce
spontanea qual'è l'intevallo di data che corrisponde a queste settimane?
Quindi devo riportare l'esatta data di inizio e fine delle settime nei
mesi considerati.
Per capirci faccio un esempio: tutto il mese di giugno tocca ben 6
settimane 2 di esse solo di 1 giorno, io devo conteggiare anche quelle
perchè rientrano nel mese di interrogazione. La settimana 22 sarà ai miei
fini tradotta così InizioSett:01/06/2003 FineSett:01/06/2003 (non l'ho
chiesto io) invece più normalmente la sett. 23 sara InizioSett:02/06/2003
FineSett:08/06/2003 e così via.
Grazie per l'interessamento,
ciao a presto


 ha scritto nel messaggio
news:bj2hpv$a44$1...@news.newsland.it...

Posto che le funzioni seguenti sono corrette e che sono inserite in
controlli con il giusto contesto possiamo procedere in questo modo.
Vecchie Funzioni
week_inizio:
DateSerial(Year([datariferimento]);Month([datariferimento]);Day([datariferim
ento])-Weekday([datariferimento];0)+1)
week_fine:
DateSerial(Year([dataRiferimento]);Month([datariferimento]);7+Day([datarifer
imento])-Weekday([datariferimento];0))
Nuove
modifica week_inizio con
iif(week_inizio(DataRiferimento)<DataInizioPeriodo;DataInizioPeriodo;week_in
izio(DataRiferimento))
modifica week_fiine con
iif(week_fine(DataRiferimento)>DataFinePeriodo;DataFinePeriodo;week_fine(Dat
aRiferimento))
Ciao

In una query ho ricavato il numero della settimana da una data, come faccio
ad avere la data del primo giorno della settimana e la data di fine in
maniera corretta? Mi spiego. Sul NG ne ho trovati diversi di esempi che
fanno al mio caso e ne ho adottato uno ma il mio problema e che utilizzando
tale funzione opportunamente adattata e analizzando tutto il mese di Aprile
2003:
week_inizio:
DateSerial(Year([datariferimento]);Month([datariferimento]);Day([datariferim
ento])-Weekday([datariferimento];0)+1)
La funzione mi restituisce come primo giorno della settimana Lunedě
31/03/2003 anzichč il Martedě 01/04/2003 mentre tutte le altre settimane le
considera perfettamente come per esempio il mese di Maggio.
Inoltre accade lo stesso per il fine settimana utizzando:
week_fine:
DateSerial(Year([dataRiferimento]);Month([datariferimento]);7+Day([datarifer
imento])-Weekday([datariferimento];0))
solo che vengono considerati anche i giorni del mese successivo ad esempio
per Maggio il giorno di fine settimana per l'ultima del mese č Domenica
01/06/2003 anzichč Sabato 31/05/2003.


