Newsgroup: it.comp.appl.access
Titolo: ma perchè?!? (ancora su date...)

ciao a tutti,
ma perche se io faccio:
SELECT *
FROM Fatture
WHERE Year([DataIns])=[yyyy];
mi viene la mia bella mascherina richiedente l'anno (yyyy) e la query 
funziona 
mentre se faccio:
SELECT *
FROM Fatture
WHERE Month([DataIns])=[MM];
(o anche =[MMM)
non mi funziona la query?
l'inserimento di DataIns avviene tramite maschera dd-mm-aa
ma in output nella tabella di access il campo viene memorizzato come
short date cioe: dd-MMM-yy (ovvero il formato di short date delle
regional options di win2k lingua inglese)
qualcuno puo spiegarmi la faccenda?
sono sicuro  di essere in torto ma non capisco dove sbaglio.
grazie mille

 ha scritto nel messaggio
news:3d6fb4c9....@powernews.inwind.it...

Prova con Month(Format([DataIns];"dd/mm/yyyy"))=...
Oppure: Month(Format([DataIns];"gg/mm/aaaa"))=...
Infatti yyyy č sempre al terzo posto, mentre gg o mm cambiano di posizione a
seconda della compilazione.
Ciao, Carlo

Infatti yyyy e sempre al terzo posto, mentre gg o mm cambiano di posizione a


 
la data viene memorizzata secondo un formato che e' di access e non
corrisponde a nessuno dei formati da te detti (credo che sia il numero
di secondi a partire dal 1-1-1970 ma non ci giurerei affatto).
Poiche' il programmatore che ha gestito le  date doveva essere un po'
bevuto volendo fare il furbo genera dei casini inimmaginabili
Il formato a cui access fa riferimento e' generalmente quello delle
impostazioni internazionali (pannello di controllo) e comunque
preferibilmente il formato americano per cui quando gli richiedi
month quello ti da i primi due caratteri che invece alcune volte
riferiscono al giorno. Il modo per essere sicuri e' gestira la
data nel formato yyyymmdd
--
a.cara

 ha scritto nel messaggio
news:3d6fd41...@powernews.inwind.it...

Prova così cambiando opportunamente i campi e la tabella:
SELECT Entrate.*, Month(Format([DATA],"dd/mm/yyyy")) AS Mese
FROM Entrate
WHERE (((Month(Format([DATA],"dd/mm/yyyy")))=[MM]));
Da notare che nella griglia della query ho scritto
Format([DATA];"gg/mm/aaaa") ma la visualizzazione sql mi restituisce
Format([DATA],"dd/mm/yyyy")
Il parametro da inserire, in questo caso, [MM] è 1 per gennaio e 12 per
dicembre
perchè Month restituisce un intero (1 to 12) così come Day e Year.
Non serve scrivere Mmm o Mmmm.
Per rendere più comprensibile [MM] scriverei [MM (1 - 12)]
Ciao, Carlo


wrote:


 bevuto volendo fare il furbo genera dei casini inimmaginabili
    :-))
    Povero... Come spesso capita in questi casi ha dovuto scendere a patti
con un bel po' di vincoli.
[...]
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

Maurizio Borrelli wrote:
cutto tutto
borrelli PFUI, manco l'ho finito di leggere
ma secondo te se ci mette i giorni come craist fa a sapere i secondi
E il resto che dici l'ho strafatto anni fa ed i miei neuroni
non sono piu' quelli di una volta
--
a.cara

 regional options di win2k lingua inglese)
Puoi risolvere senza modificare le query se imposti nel pannello di
controllo lo stesso formato delle tue maschere di input: dd/MM/yy.
Anche se non te lo propone nel menů delle impostazioni internazionali, lo
accetta.
Ciao, Giorgio

 non sono piu' quelli di una volta
--
