Try:
Public Function calcLbsAndOz(sglLbs As Single) As String
On Error GoTo ErrHandler
Dim nLbs As Long
Dim nOz As Long
Dim sglLbsFraction As Single
Dim sglOzFraction As Single
Dim sglGrams As Single
Const OZ_PER_LB As Long = 16
Const G_PER_OZ As Single = 28.375
nLbs = Fix(sglLbs)
sglLbsFraction = sglLbs - nLbs
nOz = Fix(sglLbsFraction * OZ_PER_LB)
sglOzFraction = (sglLbsFraction * OZ_PER_LB) - nOz
sglGrams = sglOzFraction * G_PER_OZ
calcLbsAndOz = nLbs & " pounds, " & nOz & " ounces, " & _
Format(sglGrams, "0.00") & " grams"
Exit Function
ErrHandler:
MsgBox "Error in calcLbsAndOz( ) in" & vbCrLf & _
Me.Name & " form." & vbCrLf & vbCrLf & _
"Error #" & Err.Number & vbCrLf & vbCrLf & Err.Description
Err.Clear
End Function ' calcLbsAndOz( )
HTH.
Gunny
See
http://www.QBuilt.com for all your database needs.
See
http://www.Access.QBuilt.com for Microsoft Access tips.
(Please remove ZERO_SPAM from my reply E-mail address so that a message will
be forwarded to me.)
- - -
If my answer has helped you, please sign in and answer yes to the question
"Did this post answer your question?" at the bottom of the message, which
adds your question and the answers to the database of answers. Remember that
questions answered the quickest are often from those who have a history of
rewarding the contributors who have taken the time to answer questions
correctly.