CONVERT(DATETIME,...,102)

venerdì 21 giugno 2013 - 09.37
Tag Elenco Tags  Windows 7  |  SQL Server Express  |  Access (.mdb)  |  Office 2007

CorriCorrado Profilo | Junior Member

Buongiorno a tutti,
ho un problema con un access collegato a SQL SERVER.

Ricevo da colleghi seduti in Cina un errore:
run-time error '3146' errore di conversione da char a datetime non compreso nell'intervallo di valori.

L'errore nasce da questa query:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Penso che CONVERT(DATETIME, '" & strDateTime & "', 102) si inceppa sulla data settata dalla macchina locale? La cosa strana è che ha funzionato fino a ieri, da stamattina si è piantata.
Ultimo accesso dello user che ha il problema è:

CurrentUser DateTimeEntrance SelectedLogIn Version
NNTN 2013-06-20 10:51:39.000 Asia Pacific 4.2

La macchina locale usa WIN7 - inglese.

Grazie a tutti.
Corrado

alx_81 Profilo | Guru

>Buongiorno a tutti,
ciao

> strDateTime = Now
> strSQL = "INSERT INTO Y02_AccessTool "
>strSQL = strSQL & "(CurrentUser, DateTimeEntrance, SelectedLogIn,
>Version) "
>strSQL = strSQL & "VALUES ('" & strUser & "', CONVERT(DATETIME,
>'" & strDateTime & "', 102),'" & strSelectedLogIn & "', '" &
>strVersion & "')"
il problema è che la stringa strDateTime non è in un formato valido.
Non utilizzare concatenazione di stringa e cerca di utilizzare il datatype corretto.
Non avrai più problemi di questo tipo.
Da dove ti arriva la stringa?

>Grazie a tutti.
di nulla!

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

CorriCorrado Profilo | Junior Member

Ciao Alx,
il strDateTime è la funzione NOW() di Access - strDateTime = Now, ossia data e ora attuale al momento dell'evento.

Grazie
Corrado


Corrado

alx_81 Profilo | Guru

>Ciao Alx,
>il strDateTime è la funzione NOW() di Access - strDateTime =
>Now, ossia data e ora attuale al momento dell'evento.
e access in che lingua è installato? se proprio devi passare stringhe cerca di usare il formato ISO che è unico e sempre valido:
SSMMAAGG HH:MM:ss

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5