L
Lori
I have 3 fields (size dimensions) in my database that print on a part report.
When Engineers enter data it is in decimal format but the materials dept
would like to see it in fractions on a setup request report.
I have downloaded the following "neatcode" but don't know enough about VB to
know how to use the code or where to put it.
Function Num2FracA(X, Denominator As Long)
'
' Converts a decimal number to a fraction but doesn't normalize it.
' i.e. 3 2/4 -> 3 2/4
'
Dim Temp As String, Fixed As Double, Numerator As Long
If (VarType(X) < 2) Or (VarType(X) > 6) Then
Num2FracA = X
Exit Function
End If
X = Abs(X)
Fixed = Int(X)
Numerator = Int((X - Fixed) * Denominator + 0.5) 'Arithmatic rounding
If Numerator = Denominator Then
Fixed = Fixed + 1
Numerator = 0
End If
If Fixed > 0 Then
Temp = Str(Fixed)
End If
If Numerator > 0 Then
Temp = Temp & " " & Numerator & "/" & Denominator
End If
Num2FracA = Temp
End Function
Function Num2FracB(X, ByVal Denominator As Long)
'
' Converts a decimal number to a fraction and normalizes it.
' i.e. 3 2/4 -> 3 1/2
'
Dim Temp As String, Fixed As Double, Numerator As Long, Factor As Long
If (VarType(X) < 2) Or (VarType(X) > 6) Then
Num2FracB = X
Exit Function
End If
X = Abs(X)
Fixed = Int(X)
Numerator = Int((X - Fixed) * Denominator + 0.5) 'Arithmatic rounding
If Numerator = Denominator Then
Fixed = Fixed + 1
Numerator = 0
End If
If Fixed > 0 Then
Temp = Str(Fixed)
End If
If Numerator > 0 Then
Factor = GCF(Numerator, Denominator)
Temp = Temp & " " & Numerator / Factor & "/" & Denominator / Factor
End If
Num2FracB = Temp
End Function
Any help is much appreciated.
When Engineers enter data it is in decimal format but the materials dept
would like to see it in fractions on a setup request report.
I have downloaded the following "neatcode" but don't know enough about VB to
know how to use the code or where to put it.
Function Num2FracA(X, Denominator As Long)
'
' Converts a decimal number to a fraction but doesn't normalize it.
' i.e. 3 2/4 -> 3 2/4
'
Dim Temp As String, Fixed As Double, Numerator As Long
If (VarType(X) < 2) Or (VarType(X) > 6) Then
Num2FracA = X
Exit Function
End If
X = Abs(X)
Fixed = Int(X)
Numerator = Int((X - Fixed) * Denominator + 0.5) 'Arithmatic rounding
If Numerator = Denominator Then
Fixed = Fixed + 1
Numerator = 0
End If
If Fixed > 0 Then
Temp = Str(Fixed)
End If
If Numerator > 0 Then
Temp = Temp & " " & Numerator & "/" & Denominator
End If
Num2FracA = Temp
End Function
Function Num2FracB(X, ByVal Denominator As Long)
'
' Converts a decimal number to a fraction and normalizes it.
' i.e. 3 2/4 -> 3 1/2
'
Dim Temp As String, Fixed As Double, Numerator As Long, Factor As Long
If (VarType(X) < 2) Or (VarType(X) > 6) Then
Num2FracB = X
Exit Function
End If
X = Abs(X)
Fixed = Int(X)
Numerator = Int((X - Fixed) * Denominator + 0.5) 'Arithmatic rounding
If Numerator = Denominator Then
Fixed = Fixed + 1
Numerator = 0
End If
If Fixed > 0 Then
Temp = Str(Fixed)
End If
If Numerator > 0 Then
Factor = GCF(Numerator, Denominator)
Temp = Temp & " " & Numerator / Factor & "/" & Denominator / Factor
End If
Num2FracB = Temp
End Function
Any help is much appreciated.