Du hast die Liste ja schon erwähnt, aber nicht geschrieben, wie Du damit umgehen willst. Ich würde eine Liste über die Anzahl der Aufträge je Kunde etwa so erstellen:
Dim auftragcol = auftragsdb.Search (|Selektionsformel für die relevanten Aufträge|, Nothing, 0)
Dim auftragdoc As NotesDocument
Dim auftraege List As Long
Dim index As String
Set auftragdoc = auftragcol.GetFirstDocument
Do While Not auftragdoc Is Nothing
index = auftragdoc.FeldMitUIDDesKundenstammdokuments (0) 'evtl. weitere Felder aufnehmen, falls das nicht ausreicht (z.B. Ort)
If Iselement (auftraege (index)) Then
auftraege (index) = auftraege (index) + 1
Else
auftraege (index) = 1
End If
Set auftragdoc = auftragcol.GetNextDocument
Loop
Als Ergebnis hast Du dann eine Liste der Kunden mit der Anzahl ihrer Aufträge, die Du dann weiterverarbeiten kannst
Forall auftrag In auftraege
Print Listtag (auftrag) & " = " & auftrag
End Forall
Diese Daten könntest Du, wie schon vorher erwähnt, in Excel/csv schreiben und dort sortieren. Über die UID des Kundenstammblatts kannst Du ja noch Daten aus diesem hinzufügen. Falls Du die Liste per Script sortieren willst, geht es z.B. so, dauert aber etwas
Dim auftraegesort List As Long
Dim vgl As Long
Dim vglindex As String
Do
vgl = 0
Forall auftrag In auftraege
If auftrag > vgl Then
vgl = auftrag
vglindex = Listtag (auftrag)
End If
End Forall
If vgl = 0 Then
Exit Do
Else
auftraegesort (vglindex) = index
Erase auftraege (vglindex)
End If
Loop
In auftraegesort hast Du dann die Liste der Kunden, sortiert absteigend nach Anzahl der Aufträge.