Hej på Er! Hej ganska många vilkor . Hej, Hej Emma!Beräkna tid för statistik
Jag har ett litet problem med ett statistikprogram som jag pillar lite på.
Jag har en maskinpark som jag hanterar och när en server går ner så genererar
detta ett entry i en databas. Jag har sedan 30 minuter på mig att besvara detta
problem och påbörja en felsökning. Vad jag vill göra är att beräkna tiden från att maskinen larmar tills att jag besvarar larmet. Att ha i åtanke är att man jobbar
vardagar mellan 08-17. Så tid utöver denna samt helger skall inte vara med.
Exempel 1:
Larm: 2003-04-22 16:45:00 (onsdag)
Besvarat: 2003-04-23 08:05:00 (torsdag)
= 20 minuter
Exempel 2:
Larm: 2003-04-25 16:45:00 (fredag)
Besvarat: 2003-04-28 08:05:00 (måndag)
= 20 minuter
Någon som har en bra idé?
Tack på förhand!
// PeterSv: Beräkna tid för statistik
Jag skulle bygga på Select Case enl princip nedan.
Option Explicit
'0.99999/24 * 15
Const FEMTON = 0.62499375 'tid mellan 1700-0800
'0.99999/24 * 63
Const FREMON = 2.62497375 'tid mellan fre 1700 mån 0800
Private Sub Command1_Click()
Dim larm As Double
Dim besvarat As Double
Dim respTid As String
larm = CDate("2003-04-25 16:45:00")
besvarat = CDate("2003-04-28 08:05:00")
Select Case Int(Format$(larm, "w")) 'veckodag Sön = 1
Case 2 To 5 'mån - tor
'If besvarat ligger före 1700 samma dag
'respTid = Format$(besvarat - larm,"hh:mm")
'Else
'respTid = Format$(besvarat - larm - FEMTON ,"hh:mm")
'End If
Case Is = 6 'fre
'If besvarat ligger före 1700 samma dag
'respTid = Format$(besvarat - larm,"hh:mm")
'Else
'respTid = Format$(besvarat - larm - FREMON ,"hh:mm")
'End If
End Select
End SubSv: Beräkna tid för statistik
så här på rak arm skulle jag nog rekommendera lite if-satser.
If dayofweek(datumlarm) > fredag then
svarstid= svarstid-8.00
elseif datumLarm <> datumSvar then
if larmtid < 17.00 then dag1tid = 17.00-larmtid
svarstid = dag1tid + (svarstid-8.00)
else
svarstid = svarstid - larmtid
End if
Tänk på att ovanstående är pseodokod. Har inte VB här så du får kolla upp datum-
hanteringen. Tror att det är DateDiff eller ngt liknande du kan använda.
/EmmaSv: Beräkna tid för statistik
Tack för hjälpen med detta.. tog ett tag innan jag pallrade mig hit
och stängde tråden. :)
Ha det och tack igen!
// Peter