Beschreibung:
Liefert ein RecordSet aufgrund einer relationalen Struktur zurück.
Hinweis: Wir empfehlen, nach Erzeugung eines RecordSet-Objektes zunächst mittels Aufruf der Methode "MoveFirst" die Existenz mindestens eines Record-Objektes zu überprüfen.
Wichtiger Hinweis für die Verwendung des Parameters CursorModel mit dem Wert 2 (forward-only) unter Microsoft SQL Server: Die Datensätze eines forward-only-RecordSets müssen nach dessen Erstellung direkt und unmittelbar über eine "GotoNext"-Schleife ohne Interaktion vollständig durchlaufen werden. Anderenfalls kann es, wenn das RecordSet viele Zeilen enthält, am Datenbankserver zu einem ASYNC_NETWORK_IO-Wartezustand kommen, der dann andere Abfragen (vor allem Änderungen) auf dieselbe Tabelle blockiert.
Parameter:
|
Parametername |
Typ |
Beschreibung |
|
Relation |
String |
Bezeichnung der Relation, z. B. ID.Kontakte.CompanyID
Optional kann die gewünschte Sortierung mittels Postfix "/SetSortOrder:<+-Nr>" angegeben werden, z. B. "ID.Kontakte.CompanyID/SetSortOrder:4": Sortierung nach Kundennummer aufsteigend "ID.Kontakte.CompanyID/SetSortOrder:+4": Sortierung nach Kundennummer aufsteigend "ID.Kontakte.CompanyID/SetSortOrder:-4": Sortierung nach Kundennummer absteigend |
|
CursorModel |
Long |
Optional. Ermöglicht die Spezifikation des Datenbankcursormodells, das für den zurückgegebenen RecordSet genutzt werden soll.
Werte: 0 (Standardwert): Erzeugt ein RecordSet mit einem Datenbankcursormodell, welches innerhalb der combit CRM-Projektdatei spezifiziert werden kann:
... <!-- DATA --> <profile> <list name=""> <list name="ExtendedSettings"> <item name="COMRecordSetCursorDefault">2</item> </list> ...
Wird in der combit CRM-Projektdatei keine Eigenschaft COMRecordSetCursorDefault gefunden, so wird immer ein fully-dynamic RecordSet erzeugt. Mögliche Werte für die Eigenschaft sind: 1 – fully-dynamic RecordSet, 2 – forward-only RecordSet.
1: Erzeugt ein RecordSet mit fully-dynamic Datenbankcursor.
2: Erzeugt ein RecordSet mit forward-only Datenbankcursor. Ermöglicht deutliche Performance-Gewinne, insbesondere bei großen Datenmengen und komplexen Filterausdrücken, erlaubt aber lediglich das einmalige Durchlaufen in Vorwärtsrichtung durch den RecordSet.
Die Methoden RecordSet.DialogSelectRecord, RecordSet.DialogSelectRecordMultiple, RecordSet.SendBulkMail (bei anzuzeigendem integrierten Mail-Editor), RecordSet.MovePrevious, RecordSet.MoveLast, InputForm.DialogSelectRecordDropDown werden einen Scriptfehler werfen, wenn diese für einen forward-only RecordSet genutzt werden. Für diese Methoden muss der RecordSet explizit ohne forward-only (Werte 0 oder 1) erzeugt werden. |
Rückgabewert:
RecordSet
Beispiel VBScript:
' Zählt alle Datensätze in einem RecordSet. Dieses Beispiel basiert auf der Kontakte-Ansicht einer combit_Large-Solution
Dim oContactRecordSet : Set oContactRecordSet = cRM.CurrentProject.ActiveViews.ActiveView.CurrentRecordSet.CurrentRecord.GetRelationalRecordSet("ID.Kontakte.CompanyID")
If (oContactRecordSet Is Nothing) Then
MsgBox "oContactRecordSet Is Nothing"
WScript.Quit
End If
Call MsgBox(oContactRecordSet.RecCount & " - Datensätze befinden sich im oContactRecordSet", vbOkOnly, cRM.AppTitle)
Set oContactRecordSet = Nothing
Beispiel C#-Script:
// Zählt alle Datensätze in einem RecordSet. Dieses Beispiel basiert auf der Kontakte-Ansicht einer combit_Large-Solution
RecordSet contactRecordSet = cRM.CurrentProject.ActiveViews.ActiveView.CurrentRecordSet.CurrentRecord.GetRelationalRecordSet("ID.Kontakte.CompanyID");
if (contactRecordSet == null)
{
cRM.DialogMessageBox("contactRecordSet == null", "combit CRM", 16);
}
else
{
cRM.DialogMessageBox(contactRecordSet.RecCount.ToString() + " – Datensätze befinden sich im oContactRecordSet", "combit CRM", 0);
}