Fields with large data show ##### rather than data.

I have some reports within an Access 2007 Application that show lots of hashes instead of data when the number is too big to be formatted...
HASH instead of the DataIs there a way of catching this as an event or adding something into the Format Event to catch this and change the font size or do something with it rather than see the ugly error?

Thank you in advance,

Jed Nebula
Who is Participating?
Dale FyeConnect With a Mentor Commented:
Depending on the font type you are using, proportional fonts will cause problems with this as well.  The value 111,111 will take up a lot less space than 999,999, so it isn't simply a matter of checking the quantity.

However, you could create a variable in the declarations section of the report, and use the report header to determine the max value in the field that is causing the problem.  Actually, if you use the log it it will tell you how many characters are in the max value, something like:

nCharLen = INT(Log(NZ(DMAX("yourField", "yourQuery"),0))/Log(10)) + 1

You could then convert that value to a fontzise and store that in a variable,  then use that value in the Detail sections Format event to change the fontsize approppriatly.
Your best bet is to simply make the text box as wide as it can possibly be.  Text boxes are not font and size specific, plus, you'd have to examine all the data in the source to pre-determine how large to make this (or each) text box.

Scott C
If you are seeing a lot of these, the simplest solution is to increase the width of those columns to accommodate the largest expected numbers.

However, code in the detail format event might be:

If len([Count] & "") > 6 then 
       Me.txtCount.FontSize = 5
       Me.txtCount.FontSize = 10
End if

Open in new window

My personal choice here would be simply to increase the column width.  This would look better than different font sizes or control widths in the same column.
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

JedNebulaAuthor Commented:
I know what you mean. I find though that you can have a report that is running low on real estate and so you use a column size that fits in with 99.95% of your customers (their data will show things like 2 and 25 or even 250) but you have this one customer where they suddenly want to fit 250,999 in the field for whatever reason. You are then creating the report with wider than necessary columns just for that one customer and have to listen to 99.95% of your customers say "why don't you just make the column smaller?"...

Is printing in landscape view an option?
Or sizing down the font for the report as a whole?
JedNebulaAuthor Commented:
It's already a Landscape report.

Seems strange that Access would work hard enough to change your data to look like ####### but not build that into an event you could catch the error and do something about it.

Gustav BrockCIOCommented:
No hard work. It is quite easy for Access to create the ##### string.

If you wish data to be displayed, you have no other option than to provide the space.
If not ##### was displayed, false data would be displayed, like 999 for 250999.

Another alternative is to set the "Can Grow" property of your textbox to YES, but that will wrap your text (not optimal for numeric data) and make the row height inconsistent between records.
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
Can you set the Textbox to CanGrow = True?
the display of ###### is NOT an 'error' which is catchable. It is being displayed as ###### because the number is TOO LARGE (has too many characters) for the size of the text-box.  

If the display is a bound form (a table or query is bound to the display), and is not being controlled by your code, then there is very little that you can do to change this appearance.


Comparing your report to some of my (landscape) reports, you should be able to fit *much more* data into your report line than is shown. I could be wrong, but my guess is that, as mbizup already alluded to, you are using a larger font size that is necessary and/or that your report boundaries are much too narrow for landscape (i.e. the report margins are too large and/or the report width is too narrow).

Try this:
Font: Arial 8 (normal)
Margins (left and right) = 0
Report width upto 26.7cm (10.5 inch)
Place all invisible fields, if you have any, inside visible fields.
(I use these settings regularly)

All these should enable you to widen the 'Count' column.

JedNebulaAuthor Commented:
This was as near as I was going to get. Thank you.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.