31/03/2025 - @Alex ha scritto:
io non lo uso a vantaggio del clng(TuaData) per evitare queste cose...
Idem @Alex pure io lo uso... da quando me lo disse un certo Alex (sicuramente lo conosci), non ho mai più avuto problemi con le date... ;-)
Insomma, bisogna sicuramente evitare di scrivere con riferimenti Regionali... es: Data() Date() oppure Stringa() String() oppure l'uso di Format es : Format(Date, "yyyy-mm-dd") etc... oppure Vero True / Falso False... oppure le stringhe in Sql , i caratteri speciali come appunto lo sono anche i simboli valuta, etc.. etc...
Ma non basterebbe comunque... anche le tabelle di sistema di msaccess possono avere nomi diversi... Se si usano vanno verificate anch'esse.
Ho trovato questo... è carino ;-)
Sub ConvertiFunzioni()
Dim qdf As DAO.QueryDef
Dim db As DAO.Database
Set db = CurrentDb()
For Each qdf In db.QueryDefs
qdf.SQL = Replace(qdf.SQL, "Data()", "Date()")
qdf.SQL = Replace(qdf.SQL, "Stringa(", "String(")
qdf.SQL = Replace(qdf.SQL, "Val(", "CDbl(")
qdf.SQL = Replace(qdf.SQL, "Formato(", "Format(")
qdf.SQL = Replace(qdf.SQL, "Ora()", "Time()")
qdf.SQL = Replace(qdf.SQL, "Giorno(", "Day(")
qdf.SQL = Replace(qdf.SQL, "Mese(", "Month(")
qdf.SQL = Replace(qdf.SQL, "Anno(", "Year(")
qdf.SQL = Replace(qdf.SQL, "Vero", "True")
qdf.SQL = Replace(qdf.SQL, "Falso", "False")
qdf.SQL = Replace(qdf.SQL, "Sommario", "Sum")
qdf.SQL = Replace(qdf.SQL, "Media", "Avg")
qdf.SQL = Replace(qdf.SQL, "Minimo", "Min")
qdf.SQL = Replace(qdf.SQL, "Massimo", "Max")
qdf.SQL = Replace(qdf.SQL, ";", ",")
Next qdf
End Sub