M.W. gibt es dafür keine Standardroutine in Notes. Ich mache sowas ungefähr so:
Hole die Collection mittels db.Search
Erstelle eine Liste aller Dokumente, etwa so
Dim dokumente List As NotesDocument
Set doc = col.GetFirstDocument
Do While Not doc Is Nothing
Set dokumente (doc.UniversalID) = doc
Set doc = col.GetNextDocument (doc)
Loop
Erstelle eine neue Collection ohne Dokumente
Suche in der Liste das Dokument mit dem kleinsten Eintrag (falls aufsteigend sortiert werden soll), füge es der Collection hinzu und lösche es aus der Liste.
Im Beispiel nehme ich einfach ein Textfeld, musst Du natürlich anpassen
Dim vgl As String
Dim id As String
Do
vgl = "ZZZZZZZZZ" 'kann auch irgendetwas anderes sein, darf nur nicht in den Werten vorkommen
'und es darf keinen größeren Wert geben
id = ""
Forall dokument in dokumente
If dokument.Feld (0) < vgl Then
vgl = dokument.Feld (0)
id = dokument.UniversalID
End If
End Forall
If id = "" Then
'Kein Dokument mehr in der Liste
Exit Do
End If
'hier dann dokumente (id) der Collection hinzufügen, sowas wie Call sortcol.AddDocument oder so, habe ich gerade nicht im Kopf
'Anschließend Dokument aus der Liste entfernen
Erase dokumente (id)
Loop
Soll nur eine Skizze sein ...
Wenn es zuviele Dokumente sind, kannst Du auch die Liste der Dokumente durch eine Liste von Integern ersetzen und holst Dir jeweils das zu verwendende Dokument über den Listtag. Das ist aber nach meinen Erfahrungen erst ab etwa 30.000 Dokumenten notwendig (sicherlich in Abhängigkeit der Größe der Dokumente und dem verfügbaren Arbeitsspeicher).