Erstellen eines Filters in der aktuellen Ansicht per Script

Zur Automatisierung von Filtern, die sie normalerweise über [Organisation > Filter / Extrakt > Allgemein…] erstellen, können auch Scripte genutzt werden. Dadurch haben Sie die Möglichkeit, häufig gebrauchte Filterausdrücke z.B. auf einen Button zu legen. Ein Beispielscript wird im folgenden aufgelistet. Der notwendige Filterausdruck wurde entsprechend im Dialog Filter / Extrakt Allgemein… erstellt und in den Scriptcode übernommen.

Option Explicit

' combit Relationship Manager Variablen
Dim oProject, oActiveView, oCurrentRecordSet, bFilter

' combit Relationship Manager Objekte
Set oProject = cRM.CurrentProject
Set oActiveView = oProject.ActiveViews.ActiveView
Set oCurrentRecordSet = oActiveView.CurrentRecordSet

' Filter erstellen:
bFilter = oCurrentRecordSet.SetFilter("upper(""Firma"") = upper('combit') AND upper(""Ort"") = upper('Konstanz')")

If bFilter = True Then
Msgbox "Es befinden sich " & oActiveView.FilterRecCount & " Datensätze im Filter."
Else
Msgbox "Es konnte kein Filter erstellt werden!"
End If

Set oCurrentRecordSet = Nothing
Set oActiveView = Nothing
Set oProject = Nothing


Eine alternative Möglichkeit für die Erstellung eines Filters besteht über die Methode SetFilterByName. Diese Methode führt einen abgespeicherten Filterausdruck über den Namen aus. Dieser kann über den Menüpunkt Organisation > Filter / Extrakt > Filterausdrücke verwalten definiert werden.

...
' Gespeicherten Filter ausführen:
bFilter = oCurrentRecordSet.SetFilterByName("combit")

If bFilter = True Then
Msgbox "Es befinden sich " & oActiveView.FilterRecCount & " Datensätze im Filter."
Else
Msgbox "Es konnte kein Filter erstellt werden!"
End If
IDKBAD001047 KBAD001047