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();