Thanks you all for trying to help and giving some ideas. Finally this is what really worked:
'strQuery3 = "SELECT [ID] & CStr([TILLDATETIME]) & CStr([fromdatetime]) & [title] & CStr([holdback]) & [cidentifier] & [connectioncode] & [details] AS Expr1, ID, FromDateTime, TillDateTime, Holdback, CIdentifier, ConnectionCode, Title, Details, 'New' AS DType"
'strQuery3 = strQuery3 & " FROM " & CompareCal
'strQuery3 = strQuery3 & " WHERE ((([ID] & CStr([TILLDATETIME]) & CStr([fromdatetime]) & [title] & CStr([holdback]) & [cidentifier] & [connectioncode] & [details]) Not In (select [ID] & CStr([TILLDATETIME]) & CStr([fromdatetime]) & [title] & CStr([holdback]) & [cidentifier] & [connectioncode] & [details] from " & NewCalendar & "

))"
'strQuery3 = strQuery3 & " Union "
'strQuery3 = strQuery3 & "SELECT [ID] & CStr([TILLDATETIME]) & CStr([fromdatetime]) & [title] & CStr([holdback]) & [cidentifier] & [connectioncode] & [details] AS Expr1, ID, FromDateTime, TillDateTime, Holdback, CIdentifier, ConnectionCode, Title, Details, 'Old' AS DType"
'strQuery3 = strQuery3 & " FROM " & NewCalendar
'strQuery3 = strQuery3 & " WHERE ((([ID] & CStr([TILLDATETIME]) & CStr([fromdatetime]) & [title] & CStr([holdback]) & [cidentifier] & [connectioncode] & [details]) Not In (select [ID] & CStr([TILLDATETIME]) & CStr([fromdatetime]) & [title] & CStr([holdback]) & [cidentifier] & [connectioncode] & [details] from " & CompareCal & "

))"
'strQuery3 = strQuery3 & " ORDER BY FromDateTime, ID, DType"