nicolas1 ha scritto:
...c'è una cosa che non riesco a capire nel Datepart viene specificato che primogiorno della settimana è opzionale cosi come la primasettimana dell'anno, pero' se non li inserisci il datepart non restituisce #funz! , viceversa se li inerisci funziona.
Forse volevi dire che se non li inserisci non funziona, dando #funz!
Confermo. Sembra che da interfaccia grafica (ad esempio QBE o nell'origine dati di una casella di testo non associata) si debba indicare almeno il primo dei due parametri indicati come facoltativi. Da VBA invece non è necessario, esempio banale
Private Sub Form_Current()
Me.Testo0.Value = DatePart("w", Date)
End Sub
Misteri Microsoft? può essere, specie in una funzione che ha il difetto conclamato
Warning There is an issue with the use of this function. The last Monday in some calendar years can be returned as week 53 when it should be week 1. For more information and a workaround, see Format or DatePart functions can return wrong week number for last Monday in Year.
Fonte = https://support.microsoft.com/en-us/office/datepart-function-26868a79-5505-4e5a-8905-6001372223fa?ui=en-us&rs=en-us&ad=us
già evidenziato da @Alex
Aggiungo: su
Access 2000 (che ho sotto mano) invece funzionava senza specificare il terzo parametro, che quindi torna ad essere davvero facoltativo. Non sarebbe la prima volta che qualcosa va perso con il passare del tempo (questa non me la dimentico facilmente:
https://www.iprogrammatori.it/forum-programmazione/access/somma-sottoreport-report-t26211.html)
E siccome son curioso come... poi si scopre che la
sintassi corretta non è quella del sito Microsoft con la "w" ma con la "i", ed ovviamente "ww" è "ii". Come si scopre tutto questo? Partendo da Access2000, dove la "i" non è accettata, ed aprendo poi il file con A365 (senza alcuna conversione) e magicamente la "w" diventa "i". E non escluderei che il comportamento sia collegato alla lingua italiana, quindi questa stranezza potrebbe essere solo "nostra".