Newsgroup: it.comp.appl.access
Titolo: Giorni e settimane

Ciao a tutti, finalmente venerdě!
Come posso ottenere la data di un determinato giorno dell'anno? 
Ad esempio ho necessita di sapere quale č la data del 189° giorno
dell'anno.
Avrei bisogno di sapere anche quale č  la data che corrisponde al
primo giorno di una determinata settimana dell'anno. 
Ad esempio che giorno č il lunedě della 37° settimana del 2002?
Grazie BB

"BiBi" scrisse...

Dai un'occhiata all'help in corrispondenza di Dateadd
RoDAgo

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


??
Questo non ti da il 189° giorno dell'anno ma la data del 189° giorno
contando da oggi (dalla data attuale).
date() + 189 (eseguito oggi 08/11/2002) = 16/05/2003
#01/01/2002# + 189 = 09/07/2002
Bye
giaconet

 Ad esempio che giorno č il lunedě della 37° settimana del 2002?
Questo č un po' piů complicato... io farei cosě:
Public Function LuneděDellaSettimana( _
    Anno As Integer, _
    Settimana As Integer)
Dim tmpDate As Date
tmpDate = DateAdd("ww", Settimana - 1, DateSerial(Anno, 1, 1))
LuneděDellaSettimana = tmpDate - Weekday(tmpDate, vbTuesday)
If Year(LuneděDellaSettimana) < Anno Then
    LuneděDellaSettimana = "La prima settimana del " _
        & Anno & _
        " non ha il lunedě"
ElseIf Year(LuneděDellaSettimana) > Anno Then
    LuneděDellaSettimana = "L'anno " _
        & Anno & _
        " non possiede la " _
        & Settimana & _
        "a settimana"
End If
End Function
Es. MsgBox LuneděDellaSettimana(2002, 37) --> "09/09/2002"
Magari puoi anche togliere i controlli sullo "sforamento" dell'anno richiesto,
vedi tu... volevo solo darti un'idea.
Ciao. Claudio.

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

On Fri, 08 Nov 2002 10:58:33 GMT, 
bb...@gostec.it
 (BiBi) wrote:
Probabilmente venerdě ero veramente cotto e non ho pensato al semplice
dateadd per ottenere l'ennesimo giorno dell'anno e forse non sono
riuscito neanche a formulare correttamente la domanda. A me servirebbe
sapere se Access ha una funzione che mi dica a quale settimana
corrisponde un determinato giorno. Ad esempio per l'anno c'č
year(data) che mi restituisce l'anno della data, per i mesi c'č
month(data) che mi restituisce il mese della data e per il numero
della settimana? Non vorrei usare una funzione costruita da me in
quanto mi serve usarla in una query e le prestazione crollerebbero.
Ciao BB



Beh, č un po' diverso rispetto alla prima domanda... 
Comunque prova:
Settimana = Format(MiaData, "ww")
Ciao. Claudio.


Solitamente uso la seguente forma invece di DateSerial():
For dData = dDataInizio To dDataInizio
    ...
next
è corretta o posso incontrare problemi con particolari impostazioni
della data ne PC sui cui gira l'applicazione mentre DateSerial() mi
garantirebbe cmq il corretto funzionamento?
BB

On Mon, 11 Nov 2002 15:03:30 GMT, Claudio <c...@NOSPAMandCOsupereva.it>
wrote:

Anche questa soluzione era banale... e non l'ho vista... forse non mi
sono ancora ripreso da venerdě!
Grazie BB

 ha scritto nel messaggio
news:3dcfc194...@powernews.infostrada.it...

Se usi VBA:
Settimana = Format([MiaData], "ww")
se invece usi il generatore di espressioni (ad es. origine controllo):
= Format([MiaData]; "ii")
se stai creando un campo calcolato in una griglia di struttura di una query:
Settimana: Format([MiaData]; "ii")


 garantirebbe cmq il corretto funzionamento?
Non vedo alcuna controindicazione, a patto che conosci sia la data di inizio
che la data di fine del periodo; ma così come hai posto il problema tu
conoscevi solo l'anno, quindi era necessario, con la funzione DateSerial,
ricavarsi le due date (una relativa al primo giorno dell'anno ed una
relativa all'ultimo giorno dell'anno).
