CONTEXT
A. I am building an investment database application to process and track various small investments eg. Barclays shares (£), Microsoft shares ($)
B. Logic in place such that a "Portfolio" must use a unique 'CurrencyCode' eg. GBP, USD, EUR
C. All Purchases, Sales, BankAccount records etc. related to each Portfolio must use the Portfolio's CurrencyCode
OBJECTIVE
D. I want to display the monetary fields (say, 'Balance') on Portfolio form (and ideally table) as currency format BUT with the correct symbol (same would be true for a Purchase form belonging to the corresponding Portfolio, and so forth)
SOLUTIONS CONTEMPLATED
1. The easiest solution would be to use a general number for the various monetary fields and have a second text field with USD, GBP etc. placed to the left of the monetary field
- Rejected - this is cumbersome and feels wrong. Lots of maintenance as application grows. The numbers alone don't carry the currency with them so lots of code overhead to keep checking. Prone to error.
2. Concatenate the currency symbol to the numeric value
- Rejected - the resultant field will be a string and I will not be able to carry out calculations. this is not scalable
3. Custom format string for a monetary field eg. "balance" eg. [$USD]#,##0.00;[£GBP]#,##0.00
- Promising but can't get to work
- The idea is eg. have a fk (currency_code_id) in the Portfolio table linking to the Currency table pk - then use the custom format string on a Portfolio field eg. "balance" to do a conditional format
- I have it partly working but I cannot get the format string to work (there is no 'Custom Format' option in my version of Access so I am pasting the string directly into the Format property space)
4. Try to replicate the built-in Euro additional currency for USD (my base currency is GBP)
- Ideal solution - feels native but no idea what to do to make work - can I create another 'Euro' data type as USD
- I see the 'Create New Data Type From Fields' option but cannot seem to work out if this is helpful in trying to get a solution (I am using Access standalone 2019
Side Note: There is no need at all to have an exchange rate feature to any of this. Think that I will have two bank accounts ie. USD and GBP and they are independant. I may later do a valuation of other currencies into the base currency (based on today's spot rates) to get an overall picture but this is a bonus feature and should not drive the solution
Any suggestions would be greatly appreciated.