View Full Version : comparing tables


kiss_p
07-12-2005, 10:04 AM
Hi,

I have imported data from an ERP system into an Access table. This big table contains information about invoices processed last month. 2 of the columns are currency code and payment batch code.

Actually, there are rules that accountants should follow, but they can make errors. We would like to find those error using this Access database.

One rule is that only predefined payment batch codes should connect to a
currency code.

My idea was to create another table, where controllers are able to type in these rules like

EUR CIE
USD CIU
HUF BKH

This table has only 2 columns: currency code and payment batch code and no primary key has been defined.

The 2 tables were joined with the currency code and a query printed only those transactions where the payment batch code from the big table <> the payment batch code from the new table. This shows where accountants made an error.

This is the query:

SELECT [475 Master].*
FROM Tbl_Pmt_Btc INNER JOIN [475 Master] ON Tbl_Pmt_Btc.Cur_Code2 = [475 Master].Currency
WHERE ((([475 Master].Pmt)<>[Tbl_Pmt_Btc].[Pmt_Btc_Code]));

475 Master is the big table, Tbl_Pmt_Btc is the new table that can be modified by the controller.

This worked until more than one payment batch code were assigned to a currency code.

EUR CIE
EUR CIU

It seems that Access can use only one of them.

Can you please advise what to do in order that Access takes both rows into
account and the query prints those transactions booked in EUR where the payment batch code are neither CIE nor CIU.

Is there a simple solution without any programming?

Thanks,
Peter

Pat Hartman
07-12-2005, 10:19 AM
The simple solution is to swap the usage of the two fields. Join on the batch code and look for non-matching currency codes.

Tables should ALWAYS have primary keys. modify your lookup table to make BatchCode the primary key since it is the unique element.

kiss_p
07-13-2005, 06:36 AM
Hi,

Isn't it a problem that batch code is not unique either?
For example: CIE payment batch might contain EUR and USD transactions.

This is an extract of the lookup table:

USD CIU
USD CIE
EUR CIE

Regards,
Peter