473,396 Members | 1,608 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Currency Symbols on MS Access Reports

Zwoker
66
Hello everyone,

I have an MS Access 2003 application that is distributed as an MDE.

All the users around the Asia/Pacific region that use it are running Windows XP.

Many of them have different currency symbols in use, and these are declared on their regional settings in the control panel on their PCs. But despite this all the currency fields on the reports are appearing with a leading dollar symbol - which is the default for my PC, which the MS Access development was done on.

Can anyone suggest something that I can do to make the reports obey the PC regional setting they are running on? From seeing copies of the printed output I know it is using the correct local date formats, but all the fields on the report (declared as type currency) are ignoring it.


Thanks.
Jun 2 '08 #1
15 12297
NeoPa
32,556 Expert Mod 16PB
Presumably these are TextBox controls that you have on the report. What is the value of the Format property on these TextBox controls on your report?
Jun 2 '08 #2
Zwoker
66
Presumably these are TextBox controls that you have on the report. What is the value of the Format property on these TextBox controls on your report?
It is the Currency format, chosen from the pick list that appears when you click on the end of the format field in the textbox properties. I haven't defined my own format or anything.

Is there some sort of environment-override that I have accidently turned on that would force the "$" to always be displayed instead on the users PC regional settings currency symbol?


Thanks.
Jun 2 '08 #3
NeoPa
32,556 Expert Mod 16PB
Not that I'm aware of I'm afraid :(

I don't play much with different currencies (ironic as I was once doing support on an FX Dealing Floor), so I don't really have the relevant experience here. It's clearly not my first guess as you have that set up as recommended.

It's hard to notice potential problems even, when you don't have the databae in front of you.
Jun 3 '08 #4
Lysander
344 Expert 100+
Just found this link via google that explains your problem

http://allenbrowne.com/ser-44.html

It starts as follows


Currency format
If you can set the Format of a field or text box to "Currency", Access does not store this setting and does not respect the Regional Options of the user.

Secretly, Access stores the literal value of your currency settings, and only displays the word "Currency". The deception is discovered if you change your Regional Settings: suddenly all the formats no longer read "Currency", and the hard-coded value of your previous currency setting is revealed.


The writer also gives a workaround
"Workaround
To develop an application that does correctly adapt to the user's currency settings, you must reset the Format property of every affected control every time you open a form or report. Use the Open event to reassign the word "Currency" to the Format property each text box, combo, etc.
"

All credit to Allen Browne for the above
Jun 3 '08 #5
NeoPa
32,556 Expert Mod 16PB
Nice find Lysander :)

That is such a heap... though, from Microsoft. Such amateur logic. They should provide a fix for this. I'm SO unimpressed.
Jun 3 '08 #6
Zwoker
66
Thanks Lysander.

I had googled for an answer but not found anything meaningful.

That link explains my problem exactly. I'll try the suggested work around and see how it goes.


Regards,
Zwoker.
Jun 3 '08 #7
ADezii
8,834 Expert 8TB
Expand|Select|Wrap|Line Numbers
  1. Private Sub Form_Open(Cancel As Integer)
  2. On Error Resume Next
  3.  
  4. Dim ctl As Control
  5.  
  6. 'Write Convert in the Tag Property for each Control
  7. 'you wish to set the Format Property to Currency
  8. For Each ctl In Me.Controls
  9.   If ctl.Tag = "Convert" Then
  10.     ctl.Format = "Currency"
  11.   End If
  12. Next
  13. End Sub
Jun 4 '08 #8
Zwoker
66
Thanks ADezii,

That works great. I had already manually typed in the manual format code for all the currency fields for one of my smaller reports, and it worked fine.

I just tried your code in one of the larger reports after multi-selecting all the currency fields and giving them the tag, all in one big go, and it all worked just the same, but with a lot less effort.

I'll be able to convert all my reports to use the true currency symbol in just a few minutes, rather than a few hours.

Woo Woo! *grin*
Jun 4 '08 #9
NeoPa
32,556 Expert Mod 16PB
It's just occurred to me that I did know something related to this (I didn't make the connection though I'm afraid). While working with formats in Excel a while back I was surprised to find that when I'd set it to currency it was actually remembering it as the full string ("£#,##0.00;[Red]-£#,##0.00") rather than simply as "Currency".
Jun 4 '08 #10
JustJim
407 Expert 256MB
Hi guys,

I've been subscribed (OK, lurking) on this thread from the start, and I agree from the Micro$oft side it is a crock of shirts.

Please tell me though that there is an underlying agreement that the 'Control.Value' is being adjusted by some conversion factor and that that conversion factor is being updated either manually or from the wwweb.

There would be no point, surely, in changing $100 in the display to ₤100 or €100, that just wouldn't make sense.

Or am I missing something?

Jim
Jun 4 '08 #11
Zwoker
66
Hi,

As a general background FYI on the last comment - my reports run in two modes.

1) Just extract data for the users own location.

In this situation, all the currency data read from the backend database is in the users own units, but was (until yesterday) showing with a leading dollar symbol on all the printed reports, regardless of the users true currency symbol.

In this situation no conversion is required.


2) Extract data for the whole Asia/Pacific region.

In this situation I do a currency conversion of the local currency to a user selected currency (usually US dollars). It was somewhat ironic that this was working fine as the dollar symbol was appropriate when printed on the reports.


Regards,
Zwoker.
Jun 4 '08 #12
NeoPa
32,556 Expert Mod 16PB
Or, to put it another way Jim, the value in the field would never change due to this issue. This is not a convertion situation at all. The display of the currency symbol itself is simply done wrong (essentially a number formatting issue). Although this would, yes, result in completely inappropriate and misleading values if interpreted in the currency displayed, it doesn't involve any manipulation of the data as such by Access.

EG. Assuming Cable (£:$) is running at roughly 2:1 and a value of £100 is being displayed, this would show as $100 rather than a converted figure of $200.
Jun 5 '08 #13
JustJim
407 Expert 256MB
Fair enough, thanks for taking the time to satisfy a nosey parker!

Jim
Jun 5 '08 #14
NeoPa
32,556 Expert Mod 16PB
Curiosity may have killed the cat Jim, but without it, human knowledge would probably just fail and die :)
Jun 6 '08 #15
JustJim
407 Expert 256MB
Curiosity may have killed the cat Jim, but without it, human knowledge would probably just fail and die :)
The cat was innocent, innocent I tell you!
Jun 6 '08 #16

Sign in to post your reply or Sign up for a free account.

Similar topics

1
by: Joris Kempen | last post by:
Hi people, I know that the question has come around sometimes: How to open an Access Report using ASP and export it to for example RTF. I'm trying to implement the first method of David...
16
by: cyranoVR | last post by:
This is the approach I used to automate printing of Microsoft Access reports to PDF format i.e. unattended and without annoying "Save As..." dialogs, and - more importantly - without having to use...
5
by: Steven Taylor | last post by:
Hope someone can help. I have an application whereby in order to create one document type I effectively print out 3 or 4 access reports in correct order. So the user goes to the printer,...
1
by: Brian Barnes | last post by:
I've been searching using google trying to find a way to display Access Reports via ASP.NET and only finding commericial products which appear to require that the report needs to be converted every...
2
by: magister | last post by:
Hello, Is there a way I can validate the input on a textbox for currency including all currency symbols.. At the moment I have it only for the current culture info, but most banks use several...
1
by: David | last post by:
Does anyone know how to run MS Access reports from VB.net. I'd like to keep the existing reports in the database if I can. Thanks David
0
by: dkurtz | last post by:
D. Lesandrini published an article some time ago about exporting Access reports as XML, and then updating those XML reports dynamically in ..NET....
16
by: JoeW | last post by:
I'm utilizing a database that I created within MS Access within a program I've created in VB.NET. I am using the VB front end to navigate the information, but want to be able to print a report,...
1
by: NeoDeGenero | last post by:
I have a little VBA/Access - Reports problem and I’m not sure on how to approach it: I am trying to send a Report generated by MS Access via email through the command SendObject. ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.