Try this function that I use when converting time in milliseconds to real time.
Time is diplayed as a string that you could manipulate to give the level of precision you require. It may be a little agricultural, but it works for me.
Function MillisecondsToTime(ByVal lngMilliseconds As Long) As String
Dim strHours As String
Dim lngHours As Long
Dim strMinutes As String
Dim lngMinutes As Long
Dim dblSeconds As Double
Dim strMinFmt As String
Dim strSecFmt As String
lngHours = lngMilliseconds \ 3600000
lngMilliseconds = lngMilliseconds Mod 3600000
lngMinutes = lngMilliseconds \ 60000
lngMilliseconds = lngMilliseconds Mod 60000
dblSeconds = lngMilliseconds / 1000#
If lngHours > 0 Then
strHours = lngHours & ":"
strMinFmt = "00"
Else
' Added extra 0 into formatting string regardless, so should be able to delete ELSE
strMinFmt = "00"
End If
If lngMinutes > 0 Then
strMinutes = Format(lngMinutes, strMinFmt) & ":"
strSecFmt = "00:000"
Else
' Added extra 0 into formatting string before :, so should be able to delete ELSE
strSecFmt = "00:000"
End If
MillisecondsToTime = _
strHours & strMinutes & Format(dblSeconds, strSecFmt)
End Function
Hope this helps
W1dge