CurrentRecordBuffered

Beschreibung:

Liefert den aktuellen Datensatz als Objekt vom Typ Record zurück. Diese Methode funktioniert nur, wenn zuvor über eine der Move...-Methoden auf einen gültigen Datensatz gesprungen wurde. Wenn z. B. keine Datensätze im RecordSet enthalten sind, liefert diese Methode kein Record Objekt zurück.

Wichtig: Werden anschließend Move...-Befehle für den zugehörigen RecordSet aufgerufen, so aktualisiert sich das Record-Objekt nicht. Es behält die zum Zeitpunkt seiner Erzeugung aktuellen Feldinhalte. Um die neuen Inhalte zu bekommen, muss ein neues Objekt von RecordSet durch erneuten Aufruf von CurrentRecordBuffered erzeugt werden.

Diese Methode ist deutlich weniger performant als CurrentRecord und sollte nur verwendet werden, wenn unterschiedliche Record-Objekte als Variablen für unterschiedliche Datensätze benutzt werden müssen (vgl. Beispiel).

Rückgabewert:

Record

Beispiel VBScript:

' Vergleicht zwei Umsätze von Kontakte-Datensätzen. Dieses Beispiel basiert auf der Kontakte-Ansicht einer combit_Large-Solution

 

Dim oRecordSet : Set oRecordSet = cRM.CurrentProject.ViewConfigs.ItemByName("Kontakte").CreateRecordSet

Dim oRecord1 : Set oRecord1 = oRecordSet.CurrentRecord

Dim oRecord2

 

If (oRecordSet.MoveNext() = True) Then

    Set oRecord2 = oRecordSet.CurrentRecordBuffered

   

    If (CDbl(oRecord1.GetContentsByName("Turnover") > CDbl(oRecord2.GetContentsByName("Turnover"))) Then

        Call cRM.DialogMessageBox("Der Umsatz des ersten Datensatz ist höher als der Umsatz des zweiten Datensatz.", "RecordSet.CurrentRecordBuffered", vbOkOnly)

    End If

   

    Set oRecord2 = Nothing

End If

 

Set oRecord1 = Nothing

Beispiel C#-Script:

// Vergleicht zwei Umsätze von Kontakte-Datensätzen. Dieses Beispiel basiert auf der Kontakte-Ansicht einer combit_Large-Solution

 

RecordSet recordSet = cRM.CurrentProject.ViewConfigs.ItemByName("Kontakte").CreateRecordSet();

Record record = recordSet.CurrentRecord;

Record recordBuffered;

double.TryParse(record.GetContentsByName("Turnover"), out double valueCurrentRecordParsed);

 

if (recordSet.MoveNext() == true)

{

    recordBuffered = recordSet.CurrentRecordBuffered;

    double.TryParse(recordBuffered.GetContentsByName("Turnover"), out double valueBufferedRecordParsed);

 

    if (valueCurrentRecordParsed > valueBufferedRecordParsed)

    {

        cRM.DialogMessageBox("Der Umsatz des ersten Datensatz ist höher als der Umsatz des zweiten Datensatz.", "RecordSet.CurrentRecordBuffered", 0);

    }

 

    recordBuffered.Dispose();

}

 

record.Dispose();