--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ab...@newsland.it
weekday() ti restituisce il numero corrispondente al giorno della settimana.
Sib
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.
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
---------------------------------------------
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
> è 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