The Microsoft.ACE.OLEDB provider being the "Microsoft Access Database Engine" uses MS Access SQL syntax.
You will need to use the
type conversion functions available in Access[
^].
You should also be checking for null values before attempting the conversion.
Cast(ExceptionID as varchar)
would be:
IIf(IsNull([ExceptionID]), Null, CStr([ExceptionID])) As strExceptionID
In this example, a DBNull will be returned if the Excel cell is empty. If you want to return an empty String then it would be:
IIf(IsNull([ExceptionID]), '', CStr([ExceptionID])) As strExceptionID