SetFilter

Beschreibung:

Erstellt einen Filter auf Basis des übergebenen Filter-Ausdruckes. Die Methode entspricht technisch Filtern > Allgemein. Übergeben Sie einen leeren String (""), so wird ein bestehender Filter aufgehoben.

Der Filter kann immer nur für die jeweilige Ansicht/RecordSet ausgeführt werden. Für einen relationalen Filterausdruck können Sie entweder einen abgespeicherten Filter (SetFilterByName) oder SetFilterDirectSQL verwenden.

Wichtig: Das RecordSet-Objekt muss auf einem View basieren! Es sollten zuvor alle etwaig geholten Record- Objekte auf Nothing gesetzt werden, keinesfalls dürfen sie anschließend noch verwendet werden.

Parameter:

Parametername

Typ

Beschreibung

FilterContents

String

Das Suchkriterium.

SearchType

Long

0    Normal

1    Exakt

2    Wildcard

3    Phonetisch

4    Enthält

CaseSensitive

Long

Gross-/Kleinschreibung beachten:

0    nicht CaseSensitive

1    CaseSensitive

bUseCurrentQuery (Optional)

Bool

True: Der Filter basiert auf dem aktuell bestehenden Filter.

False (Voreinstellung): Es wird ein neuer Filter erstellt.

Rückgabewert:

Bool

Wert

Beschreibung

True

Filter konnte erstellt werden. Alle gefilterten Datensätze sind ab diesem Zeitpunkt im verwendeten RecordSet-Objekt enthalten, der Filter muss aber nicht zwingend Datensätze enthalten.

False

Filter konnte nicht ausgeführt werden. Prüfen Sie ggf. Debwin auf Fehlerausgaben des Datenbanksystems.

Beispiel VBScript:

' Dieses Beispiel basiert auf der Kontakte-Ansicht einer combit_Large-Solution

 

Dim oRecordSet : Set oRecordSet = cRM.CurrentProject.ViewConfigs.ItemByName("Kontakte").CreateRecordSet

Call oRecordSet.SetFilter("upper(""Contacts"".""AccountMngr"") = upper(N'LFrisch')", False)

Call cRM.DialogMessageBox("Es befinden sich " & oRecordSet.RecCount & " Datensätze im Filter.", "RecordSet.SetFilter", vbOKOnly)

Set oRecordSet = Nothing

Beispiel C#-Script:

// Dieses Beispiel basiert auf der Kontakte-Ansicht einer combit_Large-Solution

 

RecordSet recordSet = cRM.CurrentProject.ViewConfigs.ItemByName("Kontakte").CreateRecordSet();

recordSet.SetFilter(@"upper(""Contacts"".""AccountMngr"") = upper(N//LFrisch//)", false);

cRM.DialogMessageBox("Es befinden sich " + recordSet.RecCount.ToString() + " Datensätze im Filter.", "RecordSet.SetFilter", 0);

recordSet.Dispose();