carlazza ha scritto:
lo scrivo nell'origine controllo, nel generatore di espressioni.
è sbagliato?
Non è detto che sia sbagliato. Spesso quell'errore è dovuto ad un errata "interpretazione" dell'origine da parte di Access. Se si tratta di una maschera (o report) associata e sono presenti presenti anche i due controlli associati ai due campi data_varo e data_alaggio (ora sono costretto ad imparare cosa significa "alaggio"), togli il riferimento alla tabella.
Del tipo
=DateDiff('m';[data_varo];[data_alaggio])
Se l'errore persiste prova a cambiare il nome dei controlli in cui sono inserite le due date, in modo che il nome dei controlli sia diverso da quello del campo associato.
Attenzione al generatore di espressioni perché non sarebbe la prima volta in cui è più di danno che d'aiuto. Nel senso che può essere utile per avere "un'idea" di come si scrive, poi però va scritto di proprio pugno (informatico: tastiera)