Solved

Overflow Error on Calculation

Posted on 2008-06-15
17
559 Views
Last Modified: 2011-10-19
Morning all,

Trying to calculate the wieight on a punch in Microsoft Access (form) in order to calculate the transport charge.

I'm getting an overflow on the following line of code. Can anyone help me overcome this?

w_calc = 3.14159265 * (Me.ShankDiameter / 10) ^ 2 * Me.OverallLength * 7.8 / 10 * 4 * 1000

shankdiameter = 4
overalllength = 80

Thanks
Sean

0
Comment
Question by:SeanNij
  • 7
  • 5
  • 4
  • +1
17 Comments
 
LVL 46

Expert Comment

by:tbsgadi
Comment Utility
Hi SeanNij,

What Data_Type are w_calc ,shankdiameter & overalllength ? (integer,single etc)


Gary
0
 
LVL 1

Author Comment

by:SeanNij
Comment Utility
w_calc is long
shankdiameter is single
overlength is single
0
 
LVL 46

Accepted Solution

by:
tbsgadi earned 300 total points
Comment Utility
try w_calc = CLNG(3.14159265 * (Me.ShankDiameter / 10) ^ 2 * Me.OverallLength * 7.8 / 10 * 4 * 1000)
0
 
LVL 1

Author Comment

by:SeanNij
Comment Utility
nope - same error
0
 
LVL 17

Assisted Solution

by:Natchiket
Natchiket earned 100 total points
Comment Utility
hmmm looks like maybe the 2 * Me.OverallLength * 7.8 / 10 * 4 * 1000 is getting multiplied together before the power is applied giving a large exponential whereas presumably it's (shankdiameter/2) squared.
try

3.14159265 * ((Me.ShankDiameter / 10) ^ 2) * Me.OverallLength * 7.8 / 10 * 4 * 1000)
0
 
LVL 77

Assisted Solution

by:peter57r
peter57r earned 100 total points
Comment Utility
w-calc is ?long?
Are you intentionally trying to lose the decimal part?

But I can't reproduce the problem in A2003.
All I'm doing is  this...

Private Sub Command4_Click()
Dim wcalc As Long
wcalc = 3.14159265 * (Me.Shankdiameter / 10) ^ 2 * Me.OverallLength * 7.8 / 10 * 4 * 1000
MsgBox wcalc
End Sub

msgbox shows...125463
0
 
LVL 1

Author Comment

by:SeanNij
Comment Utility
Me.WeightPP = 3.14159265 * (Me.ShankDiameter / 10) ^ 2 * Me.OverallLength * 7.8 / (10 * 4 * 1000)
0
 
LVL 77

Expert Comment

by:peter57r
Comment Utility
That works for me as well.

Go into the immediate pane and try:

?3.14159265 * (4 / 10) ^ 2 *80 * 7.8 / (10 * 4 * 1000)
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 1

Author Comment

by:SeanNij
Comment Utility
RunTime Error '6'
Overflow i use immediate window
0
 
LVL 77

Expert Comment

by:peter57r
Comment Utility
How peculiar...see attached

You are definitely using Access 2003?


Doc6.doc
0
 
LVL 46

Expert Comment

by:tbsgadi
Comment Utility
Check that you don't have any missing references
0
 
LVL 1

Author Comment

by:SeanNij
Comment Utility
brand new database
started from scratch yesterday on it.

what i did was uninstall office service pack 3 yesterday, cuase since i installed it my Access keeps crashing in weird places.

since uninstalling been fine....except for this error now....
0
 
LVL 1

Author Comment

by:SeanNij
Comment Utility
hmmm

Me.WeightPP = 3.14159265 * (Me.ShankDiameter / 10) ^ 2 * Me.OverallLength * 7.8 / (10 * 4 * CLng(1000))

works....

WTF!!!!!!!!!!!!!
0
 
LVL 77

Expert Comment

by:peter57r
Comment Utility
That might be an explanation.  I never moved to SP3 because of all the problems reported as soon as it was issued.
So my examples are all on sp2.


0
 
LVL 46

Expert Comment

by:tbsgadi
Comment Utility
You should install the hotfix for SP3
http://support.microsoft.com/kb/945674
0
 
LVL 1

Author Closing Comment

by:SeanNij
Comment Utility
Splitting points for all the input - but the Clng got me working!
Thanks!
0
 
LVL 46

Expert Comment

by:tbsgadi
Comment Utility
Glad you got it working!
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Today's users almost expect this to happen in all search boxes. After all, if their favourite search engine juggles with tens of thousand keywords while they type, and suggests matching phrases on the fly, why shouldn't they expect the same from you…
Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

772 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now