SetContentsValueByFormula

Beschreibung:

Legt den Inhalt des Feldes mit einer Formel fest, dessen Feldname übergeben wurde. Das Setzen eines Primärschlüssels ist möglich, sofern das Schreiben erlaubt ist.

Hinweis: Bitte prüfen Sie den Rückgabewert der Methode, um sicherzustellen, dass das Setzen des neuen Inhalts funktioniert hat.

Wird ein formatiertes Notizenfeld gesetzt, ist folgendes zu beachten: fängt der Inhalt mit \\plaintext: an, dann wird Klartext angenommen, fängt er mit \\html: an, dann wird HTML Inhalt angenommen, wird kein Präfix übergeben, so wird HTML angenommen.

Parameter:

Parametername

Typ

Beschreibung

Name

String

Physikalischer Name des gewünschten Feldes.

Formula

String

(Neuer) Feldinhalt aus einer Formel.

Hinweis: Für Feldnamen, die in einer Formel verwendet werden, muss der physikalische Feldname verwendet werden. Das Verwenden von Feldaliasen wird ausdrücklich nicht empfohlen, da eine Änderung des Feldalias (ggf. nur indirekt, z. B. durch die Änderung eines 1:1 Relationsalias) dazu führt, dass das Script nicht mehr korrekt funktioniert.

Tipp: Eine funktionierende Formel lässt sich bspw. in den Ansichteneigenschaften der betreffenden Ansicht im Reiter "Datensatzverweis" in einem der Formel-Dialoge zusammenstellen. Im Reiter "Felder" können Sie im Zweifel prüfen, welcher Feldalias zu welchem phys. Feldnamen gehört. Kopieren Sie anschließend die zusammengestellte Formel und verwenden diese im Script.

Rückgabewert:

Bool

Hinweis: Bitte beachten Sie, dass "" nicht gleich NULL ist.

Beispiel VBScript:

Dim oRecord : Set oRecord = cRM.CurrentProject.ActiveViews.ActiveView.CurrentRecordSet.CurrentRecord

Call oRecord.Lock()

Call oRecord.SetContentsValueByFormula("DateTime", "Date$(Now(),""%02d.%02m.%04y %02H:%02i:%02s"")")

Call oRecord.Save()

Call oRecord.Unlock()

Call cRM.CurrentProject.ActiveViews.ActiveView.Update()

Set oRecord = Nothing

Beispiel C#-Script:

Record record = cRM.CurrentProject.ActiveViews.ActiveView.CurrentRecordSet.CurrentRecord;

record.Lock();

record.SetContentsValueByFormula("DateTime", @"Date$(Now(),""%02d.%02m.%04y %02H:%02i:%02s"")");

record.Save();

record.Unlock();

cRM.CurrentProject.ActiveViews.ActiveView.Update();

record.Dispose();