Buongiorno a tutti come sempre e grazie sin da ora per quanti leggeranno il mio argomento.

Problema, sto cambiando server per il mio sito ed anche database, da access a mssql.

Ho un problema su una query che mi dovrebbe restituire dei record che risultino più vecchi di 30 giorni a partire da una data in tabella fino al giorno in cui viene lanciata la query.

La query è la seguente:

SELECT * FROM MIA_TABELLA WHERE (DATEDIFF([day],CAMPO_DATA,'" & GETMYDATE & "' ) > 30)

CAMPO_DATA è un varchar 10 contenente la data in formato gg/mm/aaaa
GETMYDATE è una funzione realizzata da me che restituisce la data odierna in formato gg/mm/aaaa (il server su cui risiede il DB è americano e quindi GETDATE() mi restituisce il formato non desiderato)

L'errore che ricevo è:

Microsoft OLE DB Provider for SQL Server error '80040e07'

The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.

Ora, in locale funziona correttamente, in remoto no.

Ho provato ad utilizzare la funzione CAST, CONVERT, ma nulla, sempre lo stesso errore.

Idee?

Grazie e buona giornata.