Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ricavare primo e ultimo giorno settimana

565 views
Skip to first unread message

mino

unread,
Aug 18, 2003, 10:39:31 AM8/18/03
to
è possibile ricavare dal numero della settimana il primo e l'ultimo giorno
esempio:
il giorno 20/08/2003 appartiene alla settimana 34 (numero ricavato con
datepart) e il primo giorno è il 18/08/2003 e l'ultimo è il 24/08/2003
ciao a tutti

--

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ab...@newsland.it


Sib

unread,
Aug 18, 2003, 11:39:23 AM8/18/03
to
"mino" <news...@libero.it> ha scritto nel messaggio

> è possibile ricavare dal numero della settimana il primo e l'ultimo giorno
> esempio:
> il giorno 20/08/2003 appartiene alla settimana 34 (numero ricavato con
> datepart) e il primo giorno è il 18/08/2003 e l'ultimo è il 24/08/2003
> ciao a tutti

weekday() ti restituisce il numero corrispondente al giorno della settimana.

Sib


fidirico

unread,
Aug 18, 2003, 12:00:01 PM8/18/03
to

"mino" <news...@libero.it> ha scritto nel messaggio
news:bhqoeu$kvi$1...@news.newsland.it...

> è possibile ricavare dal numero della settimana il primo e l'ultimo giorno
> esempio:
> il giorno 20/08/2003 appartiene alla settimana 34 (numero ricavato con
> datepart) e il primo giorno è il 18/08/2003 e l'ultimo è il 24/08/2003
> ciao a tutti
>
> --
>

Senza usare la Datepart, puoi più agevolmente usare la funzione Weekday;
ad es, se hai tre controlli chiamati Dataintermedia, Datalunedi e Datadomenica
potrai scrivere:

Private Sub Dataintermedia_AfterUpdate()
Dim InizioSett, FineSett As Integer
InizioSett = Weekday(Dataintermedia, 2) - 1
DataLunedi = Dataintermedia - InizioSett
FineSett = 7 - Weekday(Dataintermedia, 2)
DataDomenica = Dataintermedia + FineSett
End Sub

Ciao

Galliano.


Roberto dalla campagna

unread,
Aug 18, 2003, 12:33:23 PM8/18/03
to

mino <news...@libero.it> wrote in message bhqoeu$kvi$1...@news.newsland.it...
> č possibile ricavare dal numero della settimana il primo e l'ultimo giorno

> esempio:
> il giorno 20/08/2003 appartiene alla settimana 34 (numero ricavato con
> datepart) e il primo giorno č il 18/08/2003 e l'ultimo č il 24/08/2003
> ciao a tutti
>

Se la variabile di tipo Data/ora che contiene la data di riferimento (nel
tuo esempio 20/8/2003) si chiama MiaData.
Se la variabile di tipo Data/ora nella quale vuoi la data del primo lunedě
precedente la data di riferimento si chiama Lunedě.
Se la variabile di tipo Data/ora nella quale vuoi la data della prima
domenica seguente la data di riferimento si chiama Domenica.
Prova con questo codice VBA:

Dim DataLun As Date
Dim DataDom As Date
For DataLun = MiaData To MiaData - 7 Step -1
If WeekDay(DataLun) = 2 Then
Lunedě = DataLun
Exit For
End If
Next DataLun
For DataDom = MiaData To MiaData + 7
If WeekDay(DataDom) = 1 Then
Domenica = DataDom
Exit For
End If
Next DataDom

--
Roberto

---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


OneEDP

unread,
Aug 18, 2003, 12:37:06 PM8/18/03
to

"mino" <news...@libero.it> ha scritto nel messaggio
news:bhqoeu$kvi$1...@news.newsland.it...

Qualche anno fa scrissi questa funzione che ti potrà essere utile

Public Function PrimoGiornoSettimana(dataInput As Date) As Date
Dim GiornoSettimana As Integer
' nota bene 1 corrisponde a domenica e 6 a sabato per default, mentre in
questa funzione
' ha assunto che il primo giorno della settimana corrisponde a lunedì
GiornoSettimana = DatePart("w", dataInput, vbMonday)
PrimoGiornoSettimana = dataInput
Select Case GiornoSettimana
Case 1
PrimoGiornoSettimana = DateSerial(Year(dataInput), Month(dataInput),
Day(dataInput))
Case 2
PrimoGiornoSettimana = DateSerial(Year(dataInput), Month(dataInput),
Day(dataInput) - 1)
Case 3
PrimoGiornoSettimana = DateSerial(Year(dataInput), Month(dataInput),
Day(dataInput) - 2)
Case 4
PrimoGiornoSettimana = DateSerial(Year(dataInput), Month(dataInput),
Day(dataInput) - 3)
Case 5
PrimoGiornoSettimana = DateSerial(Year(dataInput), Month(dataInput),
Day(dataInput) - 4)
Case 6
PrimoGiornoSettimana = DateSerial(Year(dataInput), Month(dataInput),
Day(dataInput) - 5)
Case 7
PrimoGiornoSettimana = DateSerial(Year(dataInput), Month(dataInput),
Day(dataInput) - 6)
End Select
End Function

PrimoGiornoSettimana(MiaData) ti restituisce il primo giorno mentre
PrimoGiornoSettimana(MiaData + 5) ti restituisce l'ultimo giorno

Ciao


mino

unread,
Aug 19, 2003, 3:12:51 AM8/19/03
to
mino ha scritto:

> è possibile ricavare dal numero della settimana il primo e l'ultimo giorno
> esempio:
> il giorno 20/08/2003 appartiene alla settimana 34 (numero ricavato con
> datepart) e il primo giorno è il 18/08/2003 e l'ultimo è il 24/08/2003
> ciao a tutti

per non ringraziare uno solo mi sono autoscritto e ovviamente ringrazio
tutti voi per le risopste molte valide che mi avete dato.
ciao

0 new messages