Some suggestions:
1) Try using single quotes in place of double quotes e.g.
SELECT DISTINCT column-one + ':' + column-two As ResultColumn FROM datatable;
2) Perhaps the .odb source's SQL syntax handles concatenation differently e.g. with the .mdb the '+' NULL
s will propagate meaning that if at least one the the column's values is NULL
then the result will be NULL; the '&' concatenation symbol will ignore NULL
values e.g. this in .mdb land
SELECT DISTINCT column-one & ':' & column-two As ResultColumn FROM datatable;
is equivalent to this in Standard ANSI/ISO SQL-92 (which isn't supported in .mdb land)
SELECT DISTINCT COALESCE(column-one, '') + ':' + COALESCE(column-two, '') As ResultColumn FROM datatable;
3) If the two sources do not support the same syntax, can you use the .mdb's linked table functionality to link the tables(s) from the .odb source in the .mdb and only use the SQL code in the .mdb?