Arprielo,
prueba esta consulta:
Código sql:
Ver original(SELECT A.id, A.concepto, A.presupuesto, B.devengado
FROM A LEFT JOIN B ON A.id=B.id)
UNION ALL
(SELECT B.id, NULL, NULL, B.devengado
FROM B LEFT JOIN A ON A.id=B.id WHERE A.id IS NULL) ORDER BY id
Creo que vale para Access (lo he probado en una versión de 2000) y para cualquier tipo de motor, pues se trata de SQL Standard.
Aclaración:
Primero me traigo los que sólo aparecen en A y los coincidentes entre A y B mediante un LEFT JOIN de A con B, situando en la coincidencia el devengado como último valor. Luego uniendo mediante union all le sumo aquellos de B que no están en A mediante otro left join, en este caso de B a A, buscando Null en el campo A.id. Para que tengan una estructura que permita la union, pongo NULL en los campos inexistentes. Finalmente, he ordenado por el campo id.