CreateRecordSet

Beschreibung:

Erzeugt ein Objekt vom Typ RecordSet. Es wird daher keine Ansicht visuell geöffnet.

Hinweis: Aus Sicherheitsgründen ist der Zugriff auf ViewConfig-Objekte von Ansichten, auf die der aktuelle Benutzer keine Zugriffsrechte besitzt, nicht möglich. Alle diese ViewConfig-Objekte werden in der übergeordneten Collection (ListViewConfigs) für die Eigenschaften/Methoden Count und Item nicht angeboten. Bei einem versuchten Direktzugriff per ItemByName wird kein Objekt zurückgegeben – es erfolgt zudem eine Fehlerausgabe auf das Debug-Tool Debwin.

Wir empfehlen, nach Erzeugung eines RecordSet-Objektes zunächst mittles Aufruf der Methode "MoveFirst" die Existenz mindestens eines Record-Objektes zu überprüfen.

 

Wichtiger Hinweis für die Verwendung des Parameters CursorModel mit dem Wert 2 (forward-only) unter Microsoft SQL Server: Die Datensätze eines forward-only-RecordSets müssen nach dessen Erstellung direkt und unmittelbar über eine "GotoNext"-Schleife ohne Interaktion vollständig durchlaufen werden. Anderenfalls kann es, wenn das RecordSet viele Zeilen enthält, am Datenbankserver zu einem ASYNC_NETWORK_IO-Wartezustand kommen, der dann andere Abfragen (vor allem Änderungen) auf dieselbe Tabelle blockiert.

Parameter:

Parametername

Typ

Beschreibung

InitialCommand

String

Optional. Ermöglicht die Übergabe einer Sortierung mittels "SetSortOrder:n" (n: Nummer der gewünschten Sortierung, 0: unsortiert, -n: invertierte Sortierung). Verhindert weitere Datenbankabfragen, die durch das Setzen der SortOrder-Eigenschaft ausgeführt werden müssten. Dieses Schlüsselwort muss als erstes angegeben werden, wenn es benutzt werden soll. Nachfolgende SetFilter*-Schlüsselworte können mit Leerzeichen oder Komma angehängt werden.

 

Ein Filter kann mit Leerzeichen oder Komma getrennt dahinter aufgeführt werden.

Der Filterausdruck muss dabei mit einer der folgenden Zeichenfolgen beginnen:

"SetFilter: <Filterausdruck aus dem Filter Allgemein-Dialog>"

"SetFilterByName:<Name für Scripte/Workflows des abgespeicherten Filters oder Pfad zu einer .crmshare-Datei mit enthaltenem Filterausdruck>"

"SetFilterDirectSQL:<Freier SQL Filterausdruck>"

"SetFilterByPrimaryKey:<Inhalt des Primärschlüsselfeldes>"

Ersetzen Sie den Teil <...> durch den entsprechenden Wert.

CursorModel

Long

Optional. Ermöglicht die Spezifikation des Datenbankcursormodells, das für den zurückgegebenen RecordSet genutzt werden soll.

 

Werte:

0 (Standardwert): Erzeugt ein RecordSet mit einem Datenbankcursormodell, welches innerhalb der combit CRM-Projektdatei spezifiziert werden kann:

 

...

<!-- DATA -->

<profile>

 <list name="">

  <list name="ExtendedSettings">

   <item name="COMRecordSetCursorDefault">2</item>

  </list>

...

 

Wird in der combit CRM-Projektdatei keine Eigenschaft COMRecordSetCursorDefault gefunden, so wird immer ein fully-dynamic RecordSet erzeugt. Mögliche Werte für die Eigenschaft sind: 1 – fully-dynamic RecordSet, 2 – forward-only RecordSet.

 

1: Erzeugt ein RecordSet mit fully-dynamic Datenbankcursor.

2: Erzeugt ein RecordSet mit forward-only Datenbankcursor. Ermöglicht deutliche Performance-Gewinne, insbesondere bei großen Datenmengen und komplexen Filterausdrücken, erlaubt aber lediglich das einmalige Durchlaufen in Vorwärtsrichtung durch den RecordSet.

 

Die Methoden RecordSet.DialogSelectRecord, RecordSet.DialogSelectRecordMultiple, RecordSet.SendBulkMail (bei anzuzeigendem integrierten Mail-Editor), RecordSet.MovePrevious, RecordSet.MoveLast, InputForm.DialogSelectRecordDropDown werden einen Scriptfehler werfen, wenn diese für einen forward-only RecordSet genutzt werden. Für diese Methoden muss der RecordSet explizit ohne forward-only (Werte 0 oder 1) erzeugt werden.

Rückgabewert:

RecordSet