purple_weave - Implementation Details
VBA Modules
Form_Action List (Form)
File: ms_access_files\purple_weave\Forms\Frm Action List.txt
Lines: 198
Procedures
Public Sub UpdateList()
- ⚠️ High branching (12 If statements)
Private Sub ActionList_DblClick(Cancel As Integer)
Private Sub ActionList_KeyDown(KeyCode As Integer, Shift As Integer)
Private Sub ActionStatus_AfterUpdate()
Private Sub AddGeneralAction_Click()
Private Sub ClearFilters_Click()
Private Sub CloseFOrm_Click()
Private Sub CriteriaCombo1_AfterUpdate()
Private Sub Dashboards_AfterUpdate()
Private Sub Filter1_AfterUpdate()
Private Sub Form_Activate()
Private Sub Form_Open(Cancel As Integer)
Private Sub PrincipalProjectList_AfterUpdate()
Private Sub PrincipalProjectStatus_AfterUpdate()
Private Sub StrCriteria1_AfterUpdate()
Form_Add and Edit Purple Ops Meeting Action (Form)
File: ms_access_files\purple_weave\Forms\Frm Add and Edit Purple Ops Meeting Action.txt
Lines: 72
Procedures
Private Sub CloseFOrm_Click()
- ⚠️ Contains GoTo statements
Private Sub Department_AfterUpdate()
Private Sub Form_BeforeInsert(Cancel As Integer)
Private Sub Form_Close()
Private Sub Form_Open(Cancel As Integer)
Form_Add and Edit Users (Form)
File: ms_access_files\purple_weave\Forms\Frm Add and Edit Users.txt
Lines: 40
Procedures
Private Sub CloseFOrm_Click()
- ⚠️ Contains GoTo statements
Private Sub Form_BeforeUpdate(Cancel As Integer)
Private Sub NewRecord_Click()
- ⚠️ Contains GoTo statements
Form_Change Password (Form)
File: ms_access_files\purple_weave\Forms\Frm Change Password.txt
Lines: 138
Procedures
Private Sub CancelButton_Click()
Private Sub CurrentPassword_AfterUpdate()
Private Sub Form_Open(Cancel As Integer)
Private Sub NewPassword_AfterUpdate()
Private Sub OKButton_Click()
Form_Opening Dialog (Form)
File: ms_access_files\purple_weave\Forms\Frm Opening Dialog.txt
Lines: 97
Procedures
Private Sub CancelButton_Click()
Private Sub Form_Open(Cancel As Integer)
Private Sub Password_AfterUpdate()
Private Sub Username_AfterUpdate()
Form_Principal Project List (Form)
File: ms_access_files\purple_weave\Forms\Frm Principal Project List.txt
Lines: 223
Procedures
Public Sub UpdateList()
- ⚠️ High branching (7 If statements)
Private Sub ActionList_DblClick(Cancel As Integer)
Private Sub ActionList_KeyDown(KeyCode As Integer, Shift As Integer)
Private Sub AddGeneralAction_Click()
Private Sub AddPPAction_Click()
Private Sub AuditReport_Click()
Private Sub ClearFilters_Click()
Private Sub CloseFOrm_Click()
Private Sub Dashboards_AfterUpdate()
Private Sub ExportLog_Click()
Private Sub Filter1_AfterUpdate()
Private Sub Form_Activate()
Private Sub Form_Open(Cancel As Integer)
Private Sub PrincipalProjectList_AfterUpdate()
Private Sub PrincipalProjectList_DblClick(Cancel As Integer)
Private Sub PrincipalProjectStatus_AfterUpdate()
Private Sub StrCriteria1_AfterUpdate()
Form_Principal Project Pillar High Risk Dialog (Form)
File: ms_access_files\purple_weave\Forms\Frm Principal Project Pillar High Risk Dialog.txt
Lines: 70
Procedures
Private Sub Form_Close()
Private Sub Form_Open(Cancel As Integer)
Private Sub OKButton_Click()
- ⚠️ Contains GoTo statements
Private Sub Principal_Projet_Status_ID_AfterUpdate()
basRelink (Standard)
File: ms_access_files\purple_weave\Modules\basRelink.bas
Lines: 604
Procedures
Public Function RelinkODBC() As Boolean
- ⚠️ Contains GoTo statements; High branching (7 If statements); Large procedure (153 lines)
Public Function Update_zstblODBC() As Boolean
- ⚠️ Contains GoTo statements
Public Function RelinkTablesLocal() As Boolean
- ⚠️ Contains GoTo statements
Public Function CompactTablesMain() As Boolean
- ⚠️ Contains GoTo statements
Public Function CompactTablesLocal() As Boolean
- ⚠️ Contains GoTo statements
Public Function TableExists(ByVal pstrTableName As String) As Boolean
- ⚠️ Uses On Error Resume Next
Public Sub PopulateTableList()
- ⚠️ Contains GoTo statements
Mod Export Excel (Standard)
File: ms_access_files\purple_weave\Modules\Mod Export Excel.bas
Lines: 261
Procedures
Public Sub ExportActionLogToExcel(FromAuto As Boolean, Optional TheFileName As String)
- ⚠️ Contains GoTo statements; High branching (13 If statements); Large procedure (259 lines)
Mod Send Outlook Message (Standard)
File: ms_access_files\purple_weave\Modules\Mod Send Outlook Message.bas
Lines: 53
Procedures
Public Sub SendOutlookMessage(Recip As String, Optional fileName As String, Optional SubText As String, Optional BodyText As String, Optional CCText As String)
Mod Utilities (Standard)
File: ms_access_files\purple_weave\Modules\Mod Utilities.bas
Lines: 140
Procedures
Public Function GetXofY(f As Form)
- ⚠️ Uses On Error Resume Next
Public Function IsLoaded(ByVal strFormName As String) As Boolean
Public Function StringsSameCase(x As String, y As String) As Boolean
Public Function CheckForUpper(CheckString As String)
Public Function CheckForSpecial(CheckString As String)
Public Function CheckForNumber(CheckString As String)
Public Sub DeleteImportErrorTables()
Public Sub ObjectCounts()
SQL Queries
Qry Count Active Allocated Companies by Principal Project Pillar
Type: Select
SELECT [Entrepreneur Company Principal Projects].[Principal Project Pillar ID], Count([Entrepreneur Company].[Entrepreneur Company ID]) FROM [Entrepreneur Company], [Entrepreneur Company Programme Years], [Entrepreneur Company Principal Projects] WHERE ((([Entrepreneur Company].[Company Status ID])=1 Or ([Entrepreneur Company].[Com
Qry Count Entrepreneurs Pipeline Phase 1 by Rec PP
Type: Select
SELECT Entrepreneurs.[Recommended Principal Project ID], ProcessStep.Phase, Count(Entrepreneurs.[Entrepreneur ID]) FROM [Entrepreneurs], [ProcessStatus], [ProcessStep]
Qry Count Entrepreneurs Pipeline Phase 2 by Rec PP
Type: Select
SELECT Entrepreneurs.[Recommended Principal Project ID], ProcessStep.Phase, Count(Entrepreneurs.[Entrepreneur ID]) FROM [Entrepreneurs], [ProcessStatus], [ProcessStep]
Qry Count Entrepreneurs Pipeline Phase 3 by Rec PP
Type: Select
SELECT Entrepreneurs.[Recommended Principal Project ID], ProcessStep.Phase, Count(Entrepreneurs.[Entrepreneur ID]) FROM [Entrepreneurs], [ProcessStatus], [ProcessStep]
Qry Count Exited Companies by Principal Project Pillar
Type: Select
SELECT [Entrepreneur Company Principal Projects].[Principal Project Pillar ID], Count([Entrepreneur Company].[Entrepreneur Company ID]) FROM [Entrepreneur Company], [Entrepreneur Company Programme Years], [Entrepreneur Company Principal Projects] WHERE ((([Entrepreneur Company Programme Years].[Company Programme Year Status ID])=2
Qry Count Exited Need Replacement by Principal Project Pillar
Type: Select
SELECT [Entrepreneur Company Principal Projects].[Principal Project Pillar ID], Count([Entrepreneur Company].[Entrepreneur Company ID]), [Entrepreneur Company Programme Years].[Company Programme Year Status ID] FROM [Entrepreneur Company], [Entrepreneur Company Principal Projects], [Entrepreneur Company Programme Years] WHERE ((([Entrepreneur Company Principal Projects].[Replacement Status])=\"Needs Repla
Qry Count Unallocated Companies by Principal Project Recommended
Type: Select
SELECT [Qry Get Division Dist Model and Rec Info by Company].[Recommended Principal Pro, Count([Qry Get Division Dist Model and Rec Info by Company].[Entrepreneur Compan FROM [Qry Get Division Dist Model and Rec Info by Company], [Entrepreneur Company] WHERE ((([Entrepreneur Company].[Company Status ID])=2 Or ([Entrepreneur Company].[Com
Qry Get Division Dist Model and Rec Info by Company
Type: Select
SELECT Entrepreneurs.[Entrepreneur Company ID], Entrepreneurs.[Process Status ID], Entrepreneurs.[Division ID], Entrepreneurs.[Distribution Model ID], Entrepreneurs.[Recommended Principal Project ID], Entrepreneurs.[Recommended Product ID], Entrepreneurs.[Pipeline ID] FROM [Entrepreneurs]
Qry Principal Project Pillar List
Type: Select
SELECT vwPurpleWeavePrincipalProjectPillarList.[Principal Project Pillar ID], vwPurpleWeavePrincipalProjectPillarList.[Principal Project ID], [Principal] & \, vwPurpleWeavePrincipalProjectPillarList.[BBBEE Pillar], vwPurpleWeavePrincipalProjectPillarList.[Lump Sum Allocation], vwPurpleWeavePrincipalProjectPillarList.[Number of Companies Required], vwPurpleWeavePrincipalProjectPillarList.[Principal Project Status ID], vwPurpleWeavePrincipalProjectPillarList.Status, vwPurpleWeavePrincipalProjectPillarList.Scout, vwPurpleWeavePrincipalProjectPillarList.[Key Account Manager], vwPurpleWeavePrincipalProjectPillarList.[Solutions Architect], vwPurpleWeavePrincipalProjectPillarList.[Principal Project Pillar Urgency], IIf(IsNull([Number Entrepreneurs Phase 1]),0,[Number Entrepreneurs Phase 1]), IIf(IsNull([Number Entrepreneurs Phase 2]),0,[Number Entrepreneurs Phase 2]), IIf(IsNull([Number Entrepreneurs Phase 3]),0,[Number Entrepreneurs Phase 3]), IIf(IsNull([Number Active Allocated Companies]),0,[Number Active Allocated Compa, IIf(IsNull([Number Exited Companies]),0,[Number Exited Companies]), IIf(IsNull([Unallocated Companies]),0,[Unallocated Companies]), [Number of Companies Required]-[Active]-[Exited]-[Unallocated], IIf(IsNull([Number of Replacements Needed]),0,[Number of Replacements Needed]), vwPurpleWeavePrincipalProjectPillarList.[Amount Sponsored], IIf([Lump Sum Allocation]=True,IIf([Active]=0 And [Exited]=0,0,[Amount Sponsored, IIf([Lump Sum Allocation]=True,0,[Amount Sponsored]-[Total Sponsorship]), IIf([Lump Sum Allocation]=True,0,IIf(IsNull([Total To Be Billed]),0,[Total To Be, vwPurpleWeavePrincipalProjectPillarList.[Date Principal Requires Packs] FROM [Qry Count Entrepreneurs Pipeline Phase 1 by Rec PP], [Qry Count Entrepreneurs Pipeline Phase 2 by Rec PP], [Qry Count Entrepreneurs Pipeline Phase 3 by Rec PP], [Qry Sum Total Replaced To Be Billed by Prin Project Pillar], [vwPurpleWeavePrincipalProjectPillarList], [vwPurpleSumTotalReplacedSelectionFeebyPrinProjectPillar], [vwPurpleSumTotalReplacedBilledtoDatebyPrinProjectPillar]
Qry Purple Meeting Action List
Type: Select
SELECT [Purple Meeting Actions].[Purple Meeting Action ID], [Purple Meeting Actions].[Date Created], [Purple Meeting Actions].[Principal Project Pillar ID], [Purple Meeting Actions].Priority, [Purple Meeting Actions].Department, [Purple Meeting Actions].Action, [Purple Meeting Actions].[Due Date], [Purple Meeting Actions].[Date Completed] FROM [Purple Meeting Actions]
Qry Purple Meeting PPP Action List
Type: Select
SELECT [Purple Meeting Actions].[Purple Meeting Action ID], [Purple Meeting Actions].[Date Created], [Purple Meeting Actions].[Principal Project Pillar ID], [Purple Meeting Actions].Priority, [Purple Meeting Actions].Department, [Purple Meeting Actions].Action, [Purple Meeting Actions].[Due Date], [Purple Meeting Actions].[Date Completed], IIf(IsNull([Project Name]),\, [Principal Project Pillars].[BBBEE Pillar], [Principal Projects].[Solutions Architect], [Principal Project Pillars].Scout FROM [Purple Meeting Actions], [Principal Project Pillars], [Principal Projects], [Principals]
Qry Report Action Log
Type: Select
SELECT [Principal Project Pillars].[Principal Project Pillar Urgency], IIf(IsNull([Project Name]),0,[Principal] & \, IIf(IsNull([Project Name]),\, [Principal Project Pillars].[BBBEE Pillar], [Principal Project Pillars].[Lump Sum Allocation], [Principal Project Pillars].[Amount Sponsored], IIf(IsNull([Total Sponsorship Amt]),0,[Total Sponsorship Amt])+IIf(IsNull([Total, [Amount Sponsored]-[Total Sponsorship], IIf([Amount Sponsored]=0,0,[Total Sponsorship]/[Amount Sponsored]), DateDiff(\, DateDiff(\, [Purple Meeting Actions].[Date Completed], [Purple Meeting Actions].[Date Created], [Purple Meeting Actions].Priority, [Purple Meeting Actions].Department, IIf([Department]=\, [Principal Project Pillars].Scout, [Principal Projects].[Solutions Architect], [Purple Meeting Actions].Action, [Purple Meeting Actions].[Due Date], [Principal Project Pillars].[Number of Companies Required], PrincipalProjectStatus.Status, IIf(IsNull([Number Entrepreneurs Phase 1]),0,[Number Entrepreneurs Phase 1]), IIf(IsNull([Number Entrepreneurs Phase 2]),0,[Number Entrepreneurs Phase 2]), IIf(IsNull([Number Entrepreneurs Phase 3]),0,[Number Entrepreneurs Phase 3]), IIf(IsNull([Number Active Allocated Companies]),0,[Number Active Allocated Compa, IIf(IsNull([Number Exited Companies]),0,[Number Exited Companies]), IIf(IsNull([Unallocated Companies]),0,[Unallocated Companies]), [Number of Companies Required]-[Active]-[Exited]-[Unallocated], IIf(IsNull([Number of Replacements Needed]),0,[Number of Replacements Needed]) FROM [Principal Project Pillars], [Principal Projects], [Principals], [PrincipalProjectStatus], [Purple Meeting Actions], [Qry Count Entrepreneurs Pipeline Phase 1 by Rec PP], [Qry Count Entrepreneurs Pipeline Phase 2 by Rec PP], [Qry Count Entrepreneurs Pipeline Phase 3 by Rec PP], [vwPurpleCountActiveAllocatedCompaniesbyPrinProjPillar], [vwPurpleCountExitedCompaniesbyPrincipalProjectPillar], [vwPurpleCountExitedNeedReplacementbyPrincipalProjectPillar], [vwPurpleCountUnallocatedCompaniesbyPrincipalProjectRec], [vwPurpleSumTotalSponsorshipbyPrincipalProjectPillar], [vwPurpleSumTotalReplacedBilledtoDatebyPrinProjectPillar], [vwPurpleSumTotalReplacedSelectionFeebyPrinProjectPillar] WHERE ((([Purple Meeting Actions].[Date Completed]) Is Null))
Qry Report Principal Project Allocation Audit
Type: Select
SELECT vwGarnetRptPrincipalProjectAllocationAudit.[Principal Project ID], vwGarnetRptPrincipalProjectAllocationAudit.Status, IIf(IsNull([Programme Year Status]),[Status],[Programme Year Status]), IIf(IsNull([ProgrammeYrSortOrder]),0,[ProgrammeYrSortOrder]), vwGarnetRptPrincipalProjectAllocationAudit.[Date Status Changed], vwGarnetRptPrincipalProjectAllocationAudit.[Replacement Status], [Company Name] & IIf([Ring Fencing]=True,\, vwGarnetRptPrincipalProjectAllocationAudit.[Contract Start Date] FROM [vwGarnetRptPrincipalProjectAllocationAudit], [Qry Sum Total Spend by Principal Project] WHERE (((vwGarnetRptPrincipalProjectAllocationAudit.[Principal Project ID])=Forms![Frm
Qry SubRpt Principal Project Allocation Audit Replaced Companies
Type: Select
SELECT [Principal Projects].[Principal Project ID], CompanyStatus.Status, IIf(IsNull([Programme Year Status]),[Status],[Programme Year Status]), IIf(IsNull([CompanyProgrammeYearStatus].[Sort Order]),0,[CompanyProgrammeYearSta, [Entrepreneur Company Programme Years].[Date Status Changed], [Entrepreneur Company Principal Projects].[Replacement Status], [Entrepreneur Company].[Company Name], [Entrepreneur Company Programme Years].[Contract Start Date] FROM [Products], [Entrepreneur Company], [CompanyStatus], [Entrepreneur Company Programme Years], [Entrepreneur Company Principal Projects], [Principal Project Pillars], [Principal Projects], [Principals], [Qry Sum Total Spend by Principal Project], [CompanyProgrammeYearStatus], [Delivery Locations] WHERE ((([Principal Projects].[Principal Project ID])=Forms![Frm Principal Project Lis
Qry Sum Total Replaced To Be Billed by Prin Project Pillar
Type: Select
SELECT [SubQry Sum Total Replaced To Be Billed by Prin Project Pillar].[Principal Proje, [Tot To Be Billed]-IIf(IsNull([Replacement Allocated]),0,[Replacement Allocated] FROM [SubQry Sum Total Replaced To Be Billed by Prin Project Pillar], [vwPurpleWeaveSumTotalReplacementAllocatedbyPPP]
Qry Sum Total Spend by Principal Project
Type: Select
SELECT [Principal Project Pillars].[Principal Project ID], Sum([Principal Project Pillars].[Amount Sponsored]) FROM [Principal Project Pillars]
Qry Sum Total Sponsorship by Principal Project Pillar
Type: Select
SELECT [Entrepreneur Company Principal Projects].[Principal Project Pillar ID], Sum(IIf(IsNull([Allocated Amount]),0,[Allocated Amount])+IIf(IsNull([Selection F FROM [Entrepreneur Company Principal Projects] WHERE ((([Entrepreneur Company Principal Projects].[Replacement Status]) Is Null Or ([
qryLinkODBC
Type: Select
SELECT zstblODBC_db.Driver, zstblODBC_db.ServerName, zstblODBC_db.DBName, zstblODBC_db.Authentication, zstblODBC_db.UID, zstblODBC_db.PWD, zstblODBC_tables.Hidden, zstblODBC_tables.TableName, zstblODBC_tables.SourceTableName, zstblODBC_tables.AfterDDL FROM [zstblODBC_db], [zstblODBC_tables] WHERE (((zstblODBC_db.SelectDB)=True) AND ((zstblODBC_tables.Link)=True))
SubQry Sum Total Replaced To Be Billed by Prin Project Pillar
Type: Select
SELECT [Entrepreneur Company Principal Projects].[Principal Project Pillar ID], Sum([Allocated Amount]-[Needs Replacement Billed to Date]) FROM [vwPurpleWeaveSumTotalNeedsRepBilledToDatebyPPPCriteria], [Entrepreneur Company Principal Projects]