[AccessD] How to tell how much resources have been used

Bill Benson bensonforums at gmail.com
Sun Jun 7 14:37:23 CDT 2015


Code... i hope it all posts.

Private Sub cmdCreateReports_Click()
Dim Rst As DAO.Recordset
Dim SQL As String
Dim bContinue As Boolean
Dim CurDB As DAO.Database
Dim strSQL As String
Dim i As Long
Dim bDoPartnerReportsAllEast As Boolean, bDoPartnerReportsAllWest As
Boolean, bDoManagerReportsAllEast As Boolean, bDoManagerReportsAllWest As
Boolean
Dim bDoPartnerReportsEast As Boolean, bDoPartnerReportsWest As Boolean,
bDoManagerReportsEast As Boolean, bDoManagerReportsWest As Boolean
InitialMemoryUsed = GetCurrentProcessMemory
Set CurDB = CurrentDb
m_strFY = ""
If dtBeginSD = "" Or dtEndSD = "" Then
    MsgBox "Make sure valid beginning and ending sign dates have been
entered"
    Exit Sub
End If
If Not IsDate(dtBeginSD) Or Not IsDate(dtEndSD) Then
    MsgBox "Make sure valid beginning and ending sign dates have been
entered"
    Exit Sub
End If
For i = 0 To lstFY.ListCount - 1
    If lstFY.Selected(i) Then
        m_strFY = lstFY.Column(0, i)
        Exit For
    End If
Next
SaveSetting "PDR", "RuntimeSettings", "LastReportDateBegin",
CStr(Me.dtBeginSD)
SaveSetting "PDR", "RuntimeSettings", "LastReportDateend", CStr(Me.dtEndSD)
g_strBegin = CStr(Me.dtBeginSD)
g_strEnd = CStr(Me.dtEndSD)
i = 0
For i = 0 To lstReports.ListCount - 1
    If lstReports.Selected(i) Then
        Select Case lstReports.Column(0, i)
        Case Is = "Deliverables By Partner (All - East)"
            bDoPartnerReportsAllEast = True
        Case Is = "Deliverables By Partner (All - West)"
            bDoPartnerReportsAllWest = True
        Case Is = "Deliverables By Manager (All - East)"
            bDoManagerReportsAllEast = True
        Case Is = "Deliverables By Manager (All - West)"
            bDoManagerReportsAllWest = True
        Case Is = "Deliverables By Partner (East)"
            bDoPartnerReportsEast = True
        Case Is = "Deliverables By Partner (West)"
            bDoPartnerReportsWest = True
        Case Is = "Deliverables By Manager (East)"
            bDoManagerReportsEast = True
        Case Is = "Deliverables By Manager (West)"
            bDoManagerReportsWest = True
        Case Is = "Compliance By Manager (All - East)"
        Case Is = "Compliance By Manager (All - West)"
        Case Is = "Signed Projects Summary (All - East)"
        Case Is = "Signed Projects Summary (All - West)"
        End Select
    End If
Next

Set CurDB = CurrentDb
On Error Resume Next
Debug.Print "Used " & Format((GetCurrentProcessMemory - InitialMemoryUsed)
/ 1024 ^ 2, "0.0") & " mb by time parameters obtained."
DoCmd.Close acTable, "TblSpoolReports", acSaveNo
DoCmd.DeleteObject acTable, "TblSpoolReports"
On Error GoTo 0
CurDB.Execute "CREATE TABLE TblSpoolReports (ID COUNTER, ReportName
Text(255), EmployeeID LONG, SignDateBegin DATETIME,SignDateEnd
DATETIME,Spooled DATETIME,FY TEXT(10))"
Debug.Print "Used " & Format((GetCurrentProcessMemory - InitialMemoryUsed)
/ 1024 ^ 2, "0.0") & " mb after creating spool table."
If bDoPartnerReportsEast Then
    strSQL = "SELECT DISTINCT B.ID as EmployeeID, B.Name AS [Engagement
Partner],B.[First Name] as FirstName, B.Email"
    strSQL = strSQL & " FROM ([User Information List] AS B INNER JOIN [PDR
Tracking] AS A ON B.[ID] = A.[Tax Partner])"
    strSQL = strSQL & " LEFT JOIN tblCityRegion ON B.City =
tblCityRegion.City WHERE tblCityRegion.Region='East'"
    Set Rst = CurDB.OpenRecordset(strSQL)
    With Rst
        While Not .EOF
            If QualifyingRecords("Partner", "East", Rst.Fields(0).Value)
Then
                CurDB.Execute "Insert Into TblSpoolReports
(ReportName,EmployeeID,SignDateBegin,SignDateEnd,FY) Values
('PartnerReportsEast'," & .Fields("EmployeeID").Value & ",#" & g_strBegin &
"#,#" & g_strEnd & "#,'" & m_strFY & "')"
            End If
            .MoveNext
        Wend
    End With
    Debug.Print "Used " & Format((GetCurrentProcessMemory -
InitialMemoryUsed) / 1024 ^ 2, "0.0") & " mb after inserting
PartnerReportsEast records into spool table."
    Rst.Close
    Set Rst = Nothing
End If
If bDoPartnerReportsWest Then
    strSQL = "SELECT DISTINCT B.ID as EmployeeID, B.Name AS [Engagement
Partner],B.[First Name] as FirstName, B.Email"
    strSQL = strSQL & " FROM ([User Information List] AS B INNER JOIN [PDR
Tracking] AS A ON B.[ID] = A.[Tax Partner])"
    strSQL = strSQL & " LEFT JOIN tblCityRegion ON B.City =
tblCityRegion.City WHERE tblCityRegion.Region='West'"
    Set Rst = CurDB.OpenRecordset(strSQL)
    With Rst
        While Not .EOF
            If Rst.Fields(0) = 25 Then Stop
            If QualifyingRecords("Partner", "West", Rst.Fields(0).Value)
Then
                CurDB.Execute "Insert Into TblSpoolReports
(ReportName,EmployeeID,SignDateBegin,SignDateEnd,FY) Values
('PartnerReportsWest'," & .Fields("EmployeeID").Value & ",#" & g_strBegin &
"#,#" & g_strEnd & "#,'" & m_strFY & "')"
            End If
            .MoveNext
        Wend
    End With
    Rst.Close
    Set Rst = Nothing
    Debug.Print "Used " & Format((GetCurrentProcessMemory -
InitialMemoryUsed) / 1024 ^ 2, "0.0") & " mb after inserting
PartnerReportsWest records into spool table."
End If
If bDoManagerReportsEast Then
    strSQL = "SELECT DISTINCT B.ID as EmployeeID, B.Name AS [Engagement
Manager], B.[first Name] as FirstName, B.Email"
    strSQL = strSQL & " FROM ([User Information List] AS B INNER JOIN [PDR
Tracking] AS A ON B.[ID] = A.[Tax Manager])"
    strSQL = strSQL & "LEFT JOIN tblCityRegion ON B.City =
tblCityRegion.City WHERE tblCityRegion.Region=""East"""
    Set Rst = CurDB.OpenRecordset(strSQL)
    With Rst
        While Not .EOF
            If QualifyingRecords("Manager", "East", Rst.Fields(0).Value)
Then
                CurDB.Execute "Insert Into TblSpoolReports
(ReportName,EmployeeID,SignDateBegin,SignDateEnd,FY) Values
('ManagerReportsEast'," & .Fields("EmployeeID").Value & ",#" & g_strBegin &
"#,#" & g_strEnd & "#,'" & m_strFY & "')"
            End If
            .MoveNext
        Wend
    End With
    Rst.Close
    Set Rst = Nothing
    Debug.Print "Used " & Format((GetCurrentProcessMemory -
InitialMemoryUsed) / 1024 ^ 2, "0.0") & " mb after inserting
ManagerReportsEast records into spool table."
End If
If bDoManagerReportsWest Then
    strSQL = "SELECT DISTINCT B.ID as EmployeeID, B.Name AS [Engagement
Manager], B.[first Name] as FirstName, B.Email"
    strSQL = strSQL & " FROM ([User Information List] AS B INNER JOIN [PDR
Tracking] AS A ON B.[ID] = A.[Tax Manager])"
    strSQL = strSQL & "LEFT JOIN tblCityRegion ON B.City =
tblCityRegion.City WHERE tblCityRegion.Region=""West"""
    Set Rst = CurDB.OpenRecordset(strSQL)
    With Rst
        While Not .EOF
            If QualifyingRecords("Manager", "West", Rst.Fields(0).Value)
Then
                CurDB.Execute "Insert Into TblSpoolReports
(ReportName,EmployeeID,SignDateBegin,SignDateEnd,FY) Values
('ManagerReportsWest'," & .Fields("EmployeeID").Value & ",#" & g_strBegin &
"#,#" & g_strEnd & "#,'" & m_strFY & "')"
            End If
            .MoveNext
        Wend
    End With
    Rst.Close
    Set Rst = Nothing
    Debug.Print "Used " & Format((GetCurrentProcessMemory -
InitialMemoryUsed) / 1024 ^ 2, "0.0") & " mb after inserting
ManagerReportsWest records into spool table."
End If

'Access has already gone from near zero to 563 mb of resource usage as of
this point.
... Rest of Sub


More information about the AccessD mailing list