StefanoR ha scritto:
...
- il file excel da cui erano stati importati i dati aveva la data scritta in questo modo 97671946 e 217671945 (abbastanza ovvio il problema del tasto barra al posto del "7"); Access non ha fatto storie per l'importazione con questi due appunti da un paio di prove fatte: impostando il formato Data durante la procedura d'importazione il dato assumeva valore zero (ma non mi spiego ancora quel 30/12/1899 di cui si è detto, seppure Philcattivocarattere ha spiegato che questa è la data spartiacque);
Inspiegabile, almeno per me.
Ho ripetuto su un db nuovo l'importazione dal file xls ed ottengo lo stesso risultato: forzando il tipo campo a data/ora nessun messaggio d'errore, tutto importato regolarmente, "visivamente" i due record incriminati mostrano "00:00:00" come DataRimpatrio.
In una query ho fatto la conversione in Long del campo ed ho ottenuto i numeri di partenza, quindi 97671946 e 217671945. Quindi la visualizzazione "00:00:00" a mio avviso è dovuta solo all'incapacità-impossibilità di Access di rappresentare in "formato data" quei numeri.
Se cambio il tipo di dato nella tabella, da Data/Ora a Numerico PrecisioneDoppia fila tutto liscio. Quando effettuo l'operazione inversa quei due valori spariscono per errore di conversione. Giustamente, sono al di fuori del range ammesso per essere considerate date.
La funzione Year non riesce a ricavare l'anno perché... non è una data gestibile da vba. Ma IsDate restituisce vero.
Da una procedura di importazione automatica mi sarei aspettato un messaggio d'errore, non certo il caricamento di un numero fuori range per essere una data.
Inspiegabile. Si accettano spiegazioni.