CurrentRecordSetCopy

Beschreibung:

Liefert ein Objekt vom Typ RecordSet zurück, das die identischen Datensätze des aktiven Filters der Ansicht enthält, jedoch von der Ansicht unabhängig ist.

Hinweis: Wir empfehlen, nach Erzeugung eines RecordSet-Objektes zunächst mittles 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

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:

Dim oRecordSetCopy : Set oRecordSetCopy = cRM.CurrentProject.ActiveViews.ActiveView.CurrentRecordSetCopy

' ...

Set oRecordSetCopy = Nothing

Beispiel C#-Script:

RecordSet recordSetCopy = cRM.CurrentProject.ActiveViews.ActiveView.CurrentRecordSetCopy();

// ...

recordSetCopy.Dispose();