How to Create a Crystal Report based on a Union Query for SO_InvoiceHeader + SO_InvoiceDetail to AR_InvoiceHistoryHeader + AR_InvoiceHistoryDetail

I am trying to create a Crystal Report that unites the data from SO_InvoiceHeader + SO_InvoiceDetail to AR_InvoiceHistoryHeader + AR_InvoiceHistoryDetail.  I believe the best way is to use a Union Query in Access and so I have created 1 Query for each of the data sets above with the same number of fields all with identical names.  My problem is that whenever I create the Union query in Access to I get the following error:

ODBC CALL FAILED [PROVIDEX][ODBC DRIVER] LEXICAL ELEMENT NOT FOUND

Does anyone have any ideas why I would be getting the error?  Below is the SQL code:

AR Invoice History Query:
SELECT WA_AR_InvoiceHistoryHeader.InvoiceDate, WA_AR_InvoiceHistoryHeader.UDF_SO_BATCH_NO AS Batch, WA_AR_InvoiceHistoryDetail.WarehouseCode, WA_AR_InvoiceHistoryDetail.ItemCode, WA_CI_Item.ItemCodeDesc, WA_AR_InvoiceHistoryDetail.QuantityOrdered, WA_AR_InvoiceHistoryHeader.InvoiceNo, WA_AR_InvoiceHistoryHeader.SalespersonNo, WA_AR_InvoiceHistoryDetail.UnitOfMeasure, WA_AR_InvoiceHistoryDetail.DropShip, WA_AR_InvoiceHistoryDetail.Valuation
FROM WA_AR_InvoiceHistoryHeader INNER JOIN (WA_AR_InvoiceHistoryDetail INNER JOIN WA_CI_Item ON WA_AR_InvoiceHistoryDetail.ItemCode = WA_CI_Item.ItemCode) ON (WA_AR_InvoiceHistoryHeader.HeaderSeqNo = WA_AR_InvoiceHistoryDetail.HeaderSeqNo) AND (WA_AR_InvoiceHistoryHeader.InvoiceNo = WA_AR_InvoiceHistoryDetail.InvoiceNo)
WHERE (((WA_AR_InvoiceHistoryHeader.InvoiceDate)>Now()-365) AND ((WA_AR_InvoiceHistoryHeader.UDF_SO_BATCH_NO)<>""));

SO Invoice Query:
SELECT WA_SO_InvoiceHeader.InvoiceDate, WA_SO_InvoiceHeader.BatchNo AS Batch, WA_SO_InvoiceDetail.WarehouseCode, WA_SO_InvoiceDetail.ItemCode, WA_CI_Item.ItemCodeDesc, WA_SO_InvoiceDetail.QuantityOrdered, WA_SO_InvoiceHeader.InvoiceNo, WA_SO_InvoiceHeader.SalespersonNo, WA_SO_InvoiceDetail.UnitOfMeasure, WA_SO_InvoiceDetail.DropShip, WA_SO_InvoiceDetail.Valuation
FROM WA_SO_InvoiceHeader INNER JOIN (WA_SO_InvoiceDetail INNER JOIN WA_CI_Item ON WA_SO_InvoiceDetail.ItemCode = WA_CI_Item.ItemCode) ON WA_SO_InvoiceHeader.InvoiceNo = WA_SO_InvoiceDetail.InvoiceNo;

I have tried to use the Union clause between both queries as well as creating the following query to pull the data and still end up with the same error.

SELECT [AR Invoice Query].*
FROM [AR Invoice Query];
UNIONSELECT [SO Invoice Query].*
FROM [SO Invoice Query];

Any help would be greatly appreciated.