Beschreibung:
Sperrt den aktuellen Datensatz für die Bearbeitung durch andere Benutzer und sollte vor dem Ändern eines Datensatzes durch SetContents... aufgerufen werden. Die Methode liefert im Erfolgsfall True, ansonsten False zurück. Letzteres kann bspw. dadurch bedingt sein, dass der Datensatz bereits gesperrt oder die Bearbeitung aufgrund der aktuellen Berechtigungseinstellung nicht möglich ist.
Wichtig: Für ein mit der Methode NewRecord erzeugtes Record Objekt dürfen lediglich die Methoden Lock, Get/SetContents... mit einem (einmaligen) abschließenden Save und einem etwaigen (einmaligen) Unlock verwendet werden. Um andere Methoden des Record Objektes verwenden zu können, muss das Record Objekt freigegeben, neu initialisiert und auf den soeben erzeugten Datensatz positioniert werden.
Die Methode prüft Datensatzrechte und das Ansichtsrecht Datensatz ändern. Im Fehlerfall erhält man keine visuelle Meldung, d. h. im Script muss eine visuelle Benachrichtigung erfolgen, wenn die Methode fehlschlägt.
Parameter:
|
Parametername |
Typ |
Beschreibung |
|
CheckForModifiedFields |
Bool |
Optional. Steuert, ob beim Sperren eines Datensatzes mit anschließendem Speichern einer Feldänderung überprüft werden soll, ob es Änderungen durch andere Benutzer gibt und das Speichern dann fehlschlagen soll (True) oder ob die Überprüfung deaktiviert wird und die letzte Datensatzänderung gewinnt (False). Dies ist insbesondere bei Feldänderungen über viele Datensätze innerhalb einer Schleife zu bevorzugen, da eine erhebliche Performance-Steigerung erreicht werden kann. Voreinstellung: False |
Rückgabewert:
Bool
Beispiel VBScript:
' Dieses Beispiel basiert auf der Firmen-Ansicht einer combit_Large-Solution
Dim oRecord : Set oRecord = cRM.CurrentProject.ActiveViews.ActiveView.CurrentRecordSet.CurrentRecord
Call oRecord.Lock()
Call oRecord.SetContentsByName("Company", "Luna Aventuras")
Call oRecord.Save()
Call oRecord.Unlock()
Call cRM.CurrentProject.ActiveViews.ActiveView.Update()
Set oRecord = Nothing
Beispiel C#-Script:
// Dieses Beispiel basiert auf der Firmen-Ansicht einer combit_Large-Solution
Record record = cRM.CurrentProject.ActiveViews.ActiveView.CurrentRecordSet.CurrentRecord;
record.Lock();
record.SetContentsByName("Company", "Luna Aventuras");
record.Save();
record.Unlock();
cRM.CurrentProject.ActiveViews.ActiveView.Update();
record.Dispose();