GetContentsValueByName

Beschreibung:

Liefert den Inhalt entsprechend des Feldtyps des Feldes zurück, dessen Feldname übergeben wurde, z. B. Datumzeit-Typen als Datumsvariable, numerische Typen als numerische Variable etc. Somit werden bspw. Lokalisierungsprobleme (Komma oder Punkt als Dezimalzeichen? Datumsformatierung?) bei der Weiterverarbeitung des Wertes vermieden.

Hinweise:

- Wird ein Feld des internen Typs "Notizen formatiert" abgerufen, so wird immer der entsprechende HTML-Code zurückgeliefert.

- Um Aggregationsfelder anzusprechen, verwendet man als Feldnamen folgende Struktur:

<Name des Primärschlüsselfeldes>.$Aggregate_<Name der Ansicht>.ID.<Physikalischer Name des Aggregationsfeldes>

Beispiel: ID.$Aggregate_Kontakte.ID.ActivityCount

- Um Dokumente aus Feldern der internen Typen "DMS-Dokument", "Eingebettete Datei" und "Eingebettete Grafik" abrufen zu können, muss dem Feldnamen noch das Suffix "@file" hinzugefügt werden. Damit wird das Dokument als temporäre Datei bereitgestellt und der Dateipfad zurückgegeben. Für das Entfernen dieser Datei ist der Aufrufer verantwortlich. Soll die Datei dauerhaft bewahrt werden, sollte sie besser aus dem Bereitstellungsordner an einen anderen Ort hin verschoben werden. Ist das Feld NULL oder leer, wird eine leere Zeichenkette "" zurückgegeben. Trat beim Abrufen des Dokuments ein Fehler auf, so wird "$ERROR$" mit darauffolgendem per TAB-separiertem ('\t', vbTAB) Fehlertext zurückgegeben.

Parameter:

Parametername

Typ

Beschreibung

Name

String

Physikalischer Name des gewünschten Feldes.

Rückgabewert:

Variant

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

Beispiel VBScript:

' Durchläuft alle Datensätze in einem kopierten RecordSet und summiert die Gesamtumsätze. Dieses Beispiel basiert auf der Firmen-Ansicht einer combit_Large-Solution

 

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

Dim oRecord

Dim nTurnover : nTurnover = 0

 

If (oRecordSetCopy.MoveFirst() = True) Then

    Set oRecord = oRecordSetCopy.CurrentRecord

   

    Do

        nTurnover = nTurnover + oRecord.GetContentsValueByName("Turnover")

    Loop Until Not oRecordSetCopy.MoveNext()

   

    Set oRecord = Nothing

End If

 

Call cRM.DialogMessageBox("Der Gesamtumsatz der aktuell angezeigten Datensätze beträgt: " & CStr(nTurnover) & " EUR.", "RecordSet.MoveFirst", vbOkOnly)

 

Set oRecordSetCopy = Nothing

Beispiel C#-Script:

// Durchläuft alle Datensätze in einem kopierten RecordSet und summiert die Gesamtumsätze. Dieses Beispiel basiert auf der Firmen-Ansicht einer combit_Large-Solution

 

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

Record record;

double turnover = 0;

 

if (recordSetCopy.MoveFirst() == true)

{

    record = recordSetCopy.CurrentRecord;

 

    do

    {

        turnover = turnover + (double)record.GetContentsValueByName("Turnover");

    } while (!recordSetCopy.MoveNext());

 

    record.Dispose();

 

}

 

cRM.DialogMessageBox("Der Gesamtumsatz der aktuell angezeigten Datensätze beträgt: " + turnover.ToString() + " EUR.", "RecordSet.MoveFirst", 0);

 

recordSetCopy.Dispose();