Hi
I have this expression in a query ...
Trim$(Left$([RawData],[FirstQuote]-1))
It evaluates to "1/16"
How can I convert that to the numeric value 0.0625?
Try the function <Frac2Num> ( found in MS samples) :
Regards
Jens
-----------------------------------------
Function Frac2Num(strX As String) As Double
'
' Frac2Num("2/5") = 0.4
' Frac2Num("3 1/2") = 3.5
' Frac2Num("1/16") = 0.0625
Dim Temp As String, P As Integer, N As Double, Num As Double, Den As Double
If VarType(strX) < 2 Or VarType(strX) = 7 Then
Frac2Num = Null
ElseIf VarType(strX) <> 8 Then
Frac2Num = strX
Else
Temp = Trim$(strX)
P = InStr(Temp, " ")
If P = 0 Then
If InStr(Temp, "/") = 0 Then
N = Val(Temp)
Else
N = 0
End If
Else
N = Val(Left$(Temp, P - 1))
Temp = Mid$(Temp, P + 1)
End If
P = InStr(Temp, "/")
If P <> 0 Then
Num = Val(Left$(Temp, P - 1))
Den = Val(Mid$(Temp, P + 1))
If Den <> 0 Then
N = N + Num / Den
End If
End If
Frac2Num = N
End If
End Function