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