I believe my problem may be that access does not recognize implicit joins, unfortunately it's been a long time since I've written anything with explicit joins.

Can anyone help me convert the following into code that has explicit joins so that it will work in access?

select table1.field1, table2.field2, table1.field3, table3.field4, table1.field5, table4.field6 , table4.field7, table4.field8, table4.field9, table4.field10, table4.field11, table3.field12, table1.field13, table1.field14, table1.field15, table1.field16, table1.field17
from table 1, table 2, table 3, table 4
where
table1.voucher = table3.voucher
and table2.field1 = table1.field1
and table4.voucher = table3.voucher
and table4.field12 = table3.field12
--and table4.field8 = '2009'
--and table1.duedte <= '12/31/2050'
--and table1.amtdue <> 0
and table1.field4 = 'O'-- or table1.field4 = 'S')
--and table3.field4 != 'P' and table2.field1 = table1.field1
--and table1.field1 = '04666'
and table1.effdt between 01/01/80 and 12/31/08


union

select table1.field1, table2.field2, table1.field3, table3.field4, table1.field5, table5.field6, table5.field7, table5.field8, table5.field9, table5.field10, table5.field11, table3.field12, table1.field13, table1.field14, table1.field15, table1.field16, table1.field17
from table 1, table 2, table 3, table 5
where
table1.voucher = table3.voucher
and table2.field1 = table1.field1
and table5.voucher = table3.voucher
and table5.field12 = table3.field12
--and table5.field8 = '2009'
--and table1.duedte <= '12/31/2050'
--and table1.amtdue != 0


and table1.field4 = 'O' --or table1.field4 = 'S')
--and table3.field4 != 'P'
--and table1.field1 = '04666'
and table1.effdt between 01/01/80 and 12/31/08
order by table1.field1