Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


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

Posted on 2013-01-21
Medium Priority
Last Modified: 2013-06-20
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
Question by:JedNebula
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 20

Expert Comment

ID: 38800619
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
LVL 61

Expert Comment

ID: 38800632
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.

Author Comment

ID: 38800638
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?"...

What Is Blockchain Technology?

Blockchain is a technology that underpins the success of Bitcoin and other digital currencies, but it has uses far beyond finance. Learn how blockchain works and why it is proving disruptive to other areas of IT.

LVL 61

Expert Comment

ID: 38800648
Is printing in landscape view an option?
Or sizing down the font for the report as a whole?

Author Comment

ID: 38800686
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.

LVL 51

Expert Comment

by:Gustav Brock
ID: 38800731
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.

LVL 61

Expert Comment

ID: 38800931
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.
LVL 85
ID: 38800932
Can you set the Textbox to CanGrow = True?
LVL 48

Accepted Solution

Dale Fye earned 1500 total points
ID: 38800996
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.
LVL 44

Expert Comment

ID: 38801006
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.


Expert Comment

ID: 38807998

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.


Author Closing Comment

ID: 39264402
This was as near as I was going to get. Thank you.

Featured Post


Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Preparing an email is something we should all take special care with – especially when the email is for somebody you may not know very well. The pressures of everyday working life stacked with a hectic office environment can make this a real challen…
It’s the first day of March, the weather is starting to warm up and the excitement of the upcoming St. Patrick’s Day holiday can be felt throughout the world.
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…

670 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question