Function CompileChargeMetrics()
Dim db As Database, rs As DAO.Recordset, rs2 As DAO.Recordset, ii As Long, CountNum As Long
Set db = CurrentDb
'--------------------------------------------------------------------------Start CL Metrics-------------------------------------------------------------------------------------
Set rs = db.OpenRecordset("Select * from [(Compute) CL Metrics]", dbOpenSnapshot)
Set rs2 = db.OpenRecordset("Select * from [Compiled Metrics]", dbOpenDynaset)
rs.MoveLast
rs.MoveFirst
ii = rs.RecordCount
Do While rs.EOF = False
rs2.FindFirst "[Daily Date] = #" & rs("IBB Date") & "# AND [Shop ID] = " & rs("Home Shop ID") & " AND [Project ID] = " & _
rs("Project ID") & " AND [Nuc] = " & rs("Nuc")
StatusLabel "CL Metrics: " & rs.AbsolutePosition & " - " & ii
If rs2.NoMatch = True Then
With rs2
.AddNew
![Daily Date] = rs("IBB Date")
![Shop ID] = rs("Home Shop ID")
![Project ID] = rs("Project ID")
![Nuc] = rs("Nuc")
![CL Personnel] = rs("Personnel")
![CL Charged Time] = rs("Charge Total")
![CL Daily MPD] = rs("Daily MPD")
.Update
End With
Else
With rs2
.Edit
![CL Personnel] = rs("Personnel")
![CL Charged Time] = rs("Charge Total")
![CL Daily MPD] = rs("Daily MPD")
.Update
End With
End If
rs.MoveNext
Loop
rs.Close
rs2.Close
'--------------------------------------------------------------------------End CL Metrics-------------------------------------------------------------------------------------
'--------------------------------------------------------------------------Start CTR Metrics-------------------------------------------------------------------------------------
Set rs = db.OpenRecordset("Select * from [(Compute) CTR Metrics]", dbOpenSnapshot)
Set rs2 = db.OpenRecordset("Select * from [Compiled Metrics]", dbOpenDynaset)
rs.MoveLast
rs.MoveFirst
ii = rs.RecordCount
Do While rs.EOF = False
rs2.FindFirst "[Daily Date] = #" & rs("IBB Date") & "# AND [Shop ID] = " & rs("Home Shop ID") & " AND [Project ID] = " & rs("Project ID") & " AND [Nuc] = " & rs("Nuc")
StatusLabel "CTR Metrics: " & rs.AbsolutePosition & " - " & ii
If rs2.NoMatch = True Then
With rs2
.AddNew
![Daily Date] = rs("IBB Date")
![Shop ID] = rs("Home Shop ID")
![Project ID] = rs("Project ID")
![Nuc] = rs("Nuc")
![CTR Personnel] = rs("Personnel")
![CTR Charged Time] = rs("Charge Total")
![CTR Daily MPD] = rs("Daily MPD")
.Update
End With
Else
With rs2
.Edit
![CTR Personnel] = rs("Personnel")
![CTR Charged Time] = rs("Charge Total")
![CTR Daily MPD] = rs("Daily MPD")
.Update
End With
End If
rs.MoveNext
Loop
rs2.Close
rs.Close
'--------------------------------------------------------------------------End CTR Metrics-------------------------------------------------------------------------------------
'--------------------------------------------------------------------------Start OV Metrics-------------------------------------------------------------------------------------
Set rs = db.OpenRecordset("Select * from [(Compute) OV Metrics]", dbOpenSnapshot)
Set rs2 = db.OpenRecordset("Select * from [Compiled Metrics]", dbOpenDynaset)
rs.MoveLast
rs.MoveFirst
ii = rs.RecordCount
Do While rs.EOF = False
rs2.FindFirst "[Daily Date] = #" & rs("IBB Date") & "# AND [Shop ID] = " & rs("Home Shop ID") & " AND [Project ID] = " & rs("Project ID") & " AND [Nuc] = " & rs("Nuc")
StatusLabel "OV Metrics: " & rs.AbsolutePosition & " - " & ii
If rs2.NoMatch = True Then
With rs2
.AddNew
![Daily Date] = rs("IBB Date")
![Shop ID] = rs("Home Shop ID")
![Project ID] = rs("Project ID")
![Nuc] = rs("Nuc")
![OV Personnel] = rs("Personnel")
![OV Charged Time] = rs("Charge Total")
![OV Daily MPD] = rs("Daily MPD")
.Update
End With
Else
With rs2
.Edit
![OV Personnel] = rs("Personnel")
![OV Charged Time] = rs("Charge Total")
![OV Daily MPD] = rs("Daily MPD")
.Update
End With
End If
rs.MoveNext
Loop
rs2.Close
rs.Close
'--------------------------------------------------------------------------End OV Metrics-------------------------------------------------------------------------------------
'Set rs = db.OpenRecordset("Select * from [(Compute) OV Metrics]", dbOpenSnapshot)
'Set rs2 = db.OpenRecordset("Select * from [Compiled Metrics]", dbOpenDynaset)
'
'rs.MoveLast
'rs.MoveFirst
'ii = rs.RecordCount
'
'Do While rs.EOF = False
' rs2.FindFirst "[Daily Date] = #" & rs("IBB Date") & "# AND [Shop ID] = " & rs("Home Shop ID") & " AND [Project ID] = " & rs("Project ID") & " AND [Nuc] = " & rs("Nuc")
' StatusLabel "OV Metrics: " & rs.AbsolutePosition & " - " & ii
' If rs2.NoMatch = True Then
' With rs2
' .AddNew
' ![Daily Date] = rs("IBB Date")
' ![Shop ID] = rs("Home Shop ID")
' ![Project ID] = rs("Project ID")
' ![Nuc] = rs("Nuc")
' ![OV Personnel] = rs("Personnel")
' ![OV Charged Time] = rs("Charge Total")
' ![OV Daily MPD] = rs("Daily MPD")
' .Update
' End With
' Else
' With rs2
' .Edit
' ![OV Personnel] = rs("Personnel")
' ![OV Charged Time] = rs("Charge Total")
' ![OV Daily MPD] = rs("Daily MPD")
' .Update
' End With
' End If
'
' rs.MoveNext
'Loop
'
'rs2.Close
'rs.Close
'--------------------------------------------------------------------------Start ST Metrics-------------------------------------------------------------------------------------
db.Execute "Delete * from [(Temp) ST Metrics]"
Set rs = db.OpenRecordset("Select * from [(Compute) ST Metrics]", dbOpenSnapshot)
Set rs2 = db.OpenRecordset("Select * from [(Temp) ST Metrics]", dbOpenDynaset)
rs.MoveLast
rs.MoveFirst
ii = rs.RecordCount
CountNum = 1
Do While rs.EOF = False
StatusLabel "ST PreCompiled Metrics: " & rs.AbsolutePosition & " - " & ii
With rs2
.AddNew
![ID] = CountNum
![IBB Date] = rs("IBB Date")
![Home Shop ID] = rs("Home Shop ID")
![Project ID] = rs("Project ID")
![Nuc] = rs("Nuc")
![Personnel] = rs("Personnel")
![Charge Total] = rs("Charge Total")
![Daily MPD] = rs("Daily MPD")
.Update
End With
rs.MoveNext
CountNum = CountNum + 1
Loop
rs2.Close
rs.Close
Set rs = db.OpenRecordset("Select * from [(Compute) ST Metrics PID]", dbOpenSnapshot)
Set rs2 = db.OpenRecordset("Select * from [(Temp) ST Metrics]", dbOpenDynaset)
rs.MoveLast
rs.MoveFirst
ii = rs.RecordCount
Do While rs.EOF = False
rs2.FindFirst "[IBB Date] = #" & rs("IBB Date") & "# AND [Home Shop ID] = " & rs("Home Shop ID") & " AND [Project ID] = " & rs("PID") & " AND [Nuc] = " & rs("Nuc")
StatusLabel "ST Caught PreCompiled Metrics: " & rs.AbsolutePosition & " - " & ii
If rs2.NoMatch = True Then
With rs2
.AddNew
![ID] = CountNum
![IBB Date] = rs("IBB Date")
![Home Shop ID] = rs("Home Shop ID")
![Project ID] = rs("PID")
![Nuc] = rs("Nuc")
![Personnel] = rs("Personnel")
![Charge Total] = rs("Charge Total")
![Daily MPD] = rs("Daily MPD")
.Update
End With
Else
With rs2
.Edit
![Personnel] = Nz(rs2("Personnel"), 0) + Nz(rs("Personnel"), 0)
![Charge Total] = Nz(rs2("Charge Total"), 0) + Nz(rs("Charge Total"), 0)
![Daily MPD] = Nz(rs2("Daily MPD"), 0) + Nz(rs("Daily MPD"), 0)
.Update
End With
End If
rs.MoveNext
CountNum = CountNum + 1
Loop
rs2.Close
rs.Close
Set rs = db.OpenRecordset("Select * from [(Temp) ST Metrics]", dbOpenSnapshot)
Set rs2 = db.OpenRecordset("Select * from [Compiled Metrics]", dbOpenDynaset)
rs.MoveLast
rs.MoveFirst
ii = rs.RecordCount
Do While rs.EOF = False
rs2.FindFirst "[Daily Date] = #" & rs("IBB Date") & "# AND [Shop ID] = " & rs("Home Shop ID") & " AND [Project ID] = " & rs("Project ID") & " AND [Nuc] = " & rs("Nuc")
StatusLabel "ST Metrics: " & rs.AbsolutePosition & " - " & ii
If rs2.NoMatch = True Then
With rs2
.AddNew
![Daily Date] = rs("IBB Date")
![Shop ID] = rs("Home Shop ID")
![Project ID] = rs("Project ID")
![Nuc] = rs("Nuc")
![ST Personnel] = rs("Personnel")
![ST Charged Time] = rs("Charge Total")
![ST Daily MPD] = rs("Daily MPD")
.Update
End With
Else
With rs2
.Edit
![ST Personnel] = rs("Personnel")
![ST Charged Time] = rs("Charge Total")
![ST Daily MPD] = rs("Daily MPD")
.Update
End With
End If
rs.MoveNext
Loop
rs2.Close
rs.Close
'--------------------------------------------------------------------------End ST Metrics-------------------------------------------------------------------------------------
'--------------------------------------------------------------------------Start OT Metrics-------------------------------------------------------------------------------------
db.Execute "Delete * from [(Temp) OT Metrics]"
Set rs = db.OpenRecordset("Select * from [(Compute) OT Metrics]", dbOpenSnapshot)
Set rs2 = db.OpenRecordset("Select * from [(Temp) OT Metrics]", dbOpenDynaset)
rs.MoveLast
rs.MoveFirst
ii = rs.RecordCount
CountNum = 1
Do While rs.EOF = False
StatusLabel "OT PreCompiled Metrics: " & rs.AbsolutePosition & " - " & ii
With rs2
.AddNew
![ID] = CountNum
![IBB Date] = rs("IBB Date")
![Home Shop ID] = rs("Home Shop ID")
![Project ID] = rs("Project ID")
![Nuc] = rs("Nuc")
![Personnel] = rs("Personnel")
![Charge Total] = rs("Charge Total")
![Daily MPD] = rs("Daily MPD")
.Update
End With
rs.MoveNext
CountNum = CountNum + 1
Loop
rs2.Close
rs.Close
Set rs = db.OpenRecordset("Select * from [(Compute) OT Metrics PID]", dbOpenSnapshot)
Set rs2 = db.OpenRecordset("Select * from [(Temp) OT Metrics]", dbOpenDynaset)
rs.MoveLast
rs.MoveFirst
ii = rs.RecordCount
Do While rs.EOF = False
rs2.FindFirst "[IBB Date] = #" & rs("IBB Date") & "# AND [Home Shop ID] = " & rs("Home Shop ID") & " AND [Project ID] = " & rs("PID") & " AND [Nuc] = " & rs("Nuc")
StatusLabel "OT Caught PreCompiled Metrics: " & rs.AbsolutePosition & " - " & ii
If rs2.NoMatch = True Then
With rs2
.AddNew
![ID] = CountNum
![IBB Date] = rs("IBB Date")
![Home Shop ID] = rs("Home Shop ID")
![Project ID] = rs("PID")
![Nuc] = rs("Nuc")
![Personnel] = rs("Personnel")
![Charge Total] = rs("Charge Total")
![Daily MPD] = rs("Daily MPD")
.Update
End With
Else
With rs2
.Edit
![Personnel] = Nz(rs2("Personnel"), 0) + Nz(rs("Personnel"), 0)
![Charge Total] = Nz(rs2("Charge Total"), 0) + Nz(rs("Charge Total"), 0)
![Daily MPD] = Nz(rs2("Daily MPD"), 0) + Nz(rs("Daily MPD"), 0)
.Update
End With
End If
rs.MoveNext
CountNum = CountNum + 1
Loop
rs2.Close
rs.Close
Set rs = db.OpenRecordset("Select * from [(Temp) OT Metrics]", dbOpenSnapshot)
Set rs2 = db.OpenRecordset("Select * from [Compiled Metrics]", dbOpenDynaset)
rs.MoveLast
rs.MoveFirst
ii = rs.RecordCount
Do While rs.EOF = False
rs2.FindFirst "[Daily Date] = #" & rs("IBB Date") & "# AND [Shop ID] = " & rs("Home Shop ID") & " AND [Project ID] = " & rs("Project ID") & " AND [Nuc] = " & rs("Nuc")
StatusLabel "OT Metrics: " & rs.AbsolutePosition & " - " & ii
If rs2.NoMatch = True Then
With rs2
.AddNew
![Daily Date] = rs("IBB Date")
![Shop ID] = rs("Home Shop ID")
![Project ID] = rs("Project ID")
![Nuc] = rs("Nuc")
![OT Personnel] = rs("Personnel")
![OT Charged Time] = rs("Charge Total")
![OT Daily MPD] = rs("Daily MPD")
.Update
End With
Else
With rs2
.Edit
![OT Personnel] = rs("Personnel")
![OT Charged Time] = rs("Charge Total")
![OT Daily MPD] = rs("Daily MPD")
.Update
End With
End If
rs.MoveNext
Loop
rs2.Close
rs.Close
'--------------------------------------------------------------------------End OT Metrics-------------------------------------------------------------------------------------
'--------------------------------------------------------------------------Start OV Metrics-------------------------------------------------------------------------------------
Set rs = db.OpenRecordset("Select * from [(Compute) OV Metrics]", dbOpenSnapshot)
Set rs2 = db.OpenRecordset("Select * from [Compiled Metrics]", dbOpenDynaset)
rs.MoveLast
rs.MoveFirst
ii = rs.RecordCount
Do While rs.EOF = False
rs2.FindFirst "[Daily Date] = #" & rs("IBB Date") & "# AND [Shop ID] = " & rs("Home Shop ID") & " AND [Project ID] = " & rs("Project ID") & " AND [Nuc] = " & rs("Nuc")
StatusLabel "OV Metrics: " & rs.AbsolutePosition & " - " & ii
If rs2.NoMatch = True Then
With rs2
.AddNew
![Daily Date] = rs("IBB Date")
![Shop ID] = rs("Home Shop ID")
![Project ID] = rs("Project ID")
![Nuc] = rs("Nuc")
![OV Personnel] = rs("Personnel")
![OV Charged Time] = rs("Charge Total")
![OV Daily MPD] = rs("Daily MPD")
.Update
End With
Else
With rs2
.Edit
![OV Personnel] = rs("Personnel")
![OV Charged Time] = rs("Charge Total")
![OV Daily MPD] = rs("Daily MPD")
.Update
End With
End If
rs.MoveNext
Loop
rs2.Close
rs.Close
'--------------------------------------------------------------------------End OV Metrics-------------------------------------------------------------------------------------
'--------------------------------------------------------------------------Start STR Metrics-------------------------------------------------------------------------------------
BuildSTRMetrics
Set rs = db.OpenRecordset("Select * from [(Compute) STR Metrics Final]", dbOpenSnapshot)
Set rs2 = db.OpenRecordset("Select * from [Compiled Metrics]", dbOpenDynaset)
rs.MoveLast
rs.MoveFirst
ii = rs.RecordCount
Do While rs.EOF = False
rs2.FindFirst "[Daily Date] = #" & rs("Daily Date") & "# AND [Shop ID] = " & rs("Home Shop ID") & " AND [Project ID] = " & rs("Project ID") & " AND [Nuc] = " & rs("Nuc")
StatusLabel "STR Metrics: " & rs.AbsolutePosition & " - " & ii
If rs2.NoMatch = True Then
With rs2
.AddNew
![Daily Date] = rs("Daily Date")
![Shop ID] = rs("Home Shop ID")
![Project ID] = rs("Project ID")
![Nuc] = rs("Nuc")
![STR Personnel] = rs("Personnel")
![STR Time] = rs("Charge Total")
![STR Daily MPD] = rs("Daily MPD")
.Update
End With
Else
With rs2
.Edit
![STR Personnel] = rs("Personnel")
![STR Time] = rs("Charge Total")
![STR Daily MPD] = rs("Daily MPD")
.Update
End With
End If
rs.MoveNext
Loop
rs2.Close
rs.Close
'--------------------------------------------------------------------------End STR Metrics-------------------------------------------------------------------------------------
'--------------------------------------------------------------------------Start SS Metrics-------------------------------------------------------------------------------------
Set rs = db.OpenRecordset("Select * from [(Temp) SS2]", dbOpenSnapshot)
Set rs2 = db.OpenRecordset("Select * from [(Temp) SS]", dbOpenDynaset)
rs.MoveLast
rs.MoveFirst
ii = rs.RecordCount
Do While rs.EOF = False
rs2.FindFirst "[DefDate] = #" & rs("DefDate") & "# AND [Shop] = """ & rs("Shop") & """ AND [Project] = """ & rs("Project") & """ AND [Nuc] = " & rs("Nuc")
StatusLabel "SS Metrics: " & rs.AbsolutePosition & " - " & ii
If rs2.NoMatch = True Then
With rs2
.AddNew
![DefDate] = rs("DefDate")
![Shop] = rs("Shop")
![Project] = rs("Project")
![Nuc] = rs("Nuc")
![R] = rs("R")
![c] = rs("C")
.Update
End With
Else
With rs2
.Edit
![R] = rs("R")
![c] = rs("C")
.Update
End With
End If
rs.MoveNext
Loop
rs2.Close
rs.Close
'--------------------------------------------------------------------------End SS Metrics-------------------------------------------------------------------------------------
StatusLabel "Completed!"
Set rs2 = Nothing
Set rs = Nothing
Set db = Nothing
End Function