Just 4 DCount() calls are noticeably slow? Looping slows performance as well. Reduce the recordset to 4 records, assuming there are only 4 types.
Code:
Set rS = CurrentDb.OpenRecordset("SELECT [Row Type], Count(*) AS CntType FROM Table1 GROUP BY [Row Type]")
While Not rS.EOF
If rS![Row Type] = "PLAT" Then
ReDim PlatArr(1 To rS!CntType, 1 To 9)
ElseIf rS![Row Type] = "FE" Then
ReDim FEArr(1 To rS!CntType, 1 To 9)
ElseIf rS![Row Type] = "MEQUIP" Then
ReDim MEquipArr(1 To rS!CntType, 1 To 8)
ElseIf rS![Row Type] = "DISMEQUIP" Then
ReDim DEquipArr(1 To rS!CntType, 1 To 9)
End If
Wend
Not seeing any code that populates arrays. Why do you need arrays?