Counter = 0 lastDay = "" lastAdvertDay = "" Do While Not callRS.EOF ReDim Preserve callArray(2000, Counter + 1) If callRS.Fields.Count > 2 And GROUPBYcount > 1 Then If callRS(SELECTcount - 1) <> lastDay Then Counter = Counter + 1 lastDay = callRS(SELECTcount - 1) If Not IsNull(callRS(SELECTcount - 2)) Then If Not dayhash.Exists(Trim(CStr(callRS(SELECTcount - 1)))) Then dayhash.Add Key:=Trim(CStr(callRS(SELECTcount - 1))), item:=(dayhash.Count + 1) If hash.Exists(Trim(CStr(callRS(SELECTcount - 2)))) Then For i = 0 To SELECTcount - 3 callArray(hash.item(Trim(CStr(callRS(SELECTcount - 2)))) - 1, Counter - 1) = callRS(i) Next i Else hash.Add Key:=Trim(CStr(callRS(SELECTcount - 2))), item:=(hash.Count + 1) For i = 0 To SELECTcount - 3 callArray(hash.item(Trim(CStr(callRS(SELECTcount - 2)))) - 1, Counter - 1) = callRS(i) Next i End If End If ElseIf callRS.Fields.Count > 2 And GROUPBYcount = 1 Then If callRS(SELECTcount - 1) <> lastDay Then Counter = Counter + 1 lastDay = callRS(SELECTcount - 1) For i = 0 To SELECTcount - 2 If Not hash.Exists(Trim(CStr(callRS.Fields(i).Name))) Then hash.Add Key:=CStr(callRS.Fields(i).Name), item:=(hash.Count + 1) If Not dayhash.Exists(Trim(CStr(callRS(SELECTcount - 1)))) Then dayhash.Add Key:=Trim(CStr(callRS(SELECTcount - 1))), item:=(dayhash.Count + 1) callArray(hash.item(Trim(CStr(callRS.Fields(i).Name))) - 1, Counter - 1) = callRS(i) Next i Else If callRS(SELECTcount - 1) <> lastDay Then Counter = Counter + 1 lastDay = callRS(SELECTcount - 1) If Not hash.Exists(listType.Text) Then hash.Add Key:=Trim(listType.Text), item:=(hash.Count + 1) If Not dayhash.Exists(Trim(CStr(callRS(SELECTcount - 1)))) Then dayhash.Add Key:=Trim(CStr(callRS(SELECTcount - 1))), item:=(dayhash.Count + 1) callArray(hash.item(Trim(listType.Text)) - 1, Counter - 1) = callRS(0) End If If includeAdvertCost And lastDay <> lastAdvertDay Then Set advertRS = GetRS(obj4DBSConn, advertSQL & " AND start_date <= " & lastDay & " AND end_date >= " & lastDay) If Not dayhash.Exists(Trim(CStr(callRS(SELECTcount - 1)))) Then dayhash.Add Key:=Trim(CStr(callRS(SELECTcount - 1))), item:=(dayhash.Count + 1) callArray(hash.item("Advert Cost") - 1, Counter - 1) = advertRS(0) lastAdvertDay = lastDay advertRS.Close End If callRS.MoveNext Loop callRS.Close