Selektionen
Die Funktion der Selektion kommt in sehr vielen Modulen innerhalb von MivWin vor. In den Modulen ist dann immer ein Karteireiter Selektion vorhanden. Der Inhalt ist im wesentlichen unter allen Selektionskarteireitern gleich und unterscheidet sich nur geringfügig. Die grundlegende Funktion ist daher in diesem Kapitel zusammengefasst und beschrieben.
Die Funktion der Selektion wird meist mit den folgenden drei Optionen unterschieden. Hierbei verändert sich der restliche Bereich des Karteireiters und die nachfolgend beschriebenen Funktionen sind nutzbar.
Die Selektion stellt die Grundlage für eine Auswahl dar, welche dann für die nächsten Schritte, z.B. dem Drucken, verwendet wird. Die drei grundsätzlichen verschiedenen Selektionsmöglichkeiten stehen zur Verfügung.
Alle Mitglieder
Bei dieser Auswahl sind keine weiteren Angaben nötig. Alle zur Verfügung stehenden Datensätze werden zur Ausgabe herangezogen.
Mitglieder einzeln
Wie im folgenden Abschnitt detailliert dargestellt, erscheint eine Auswahlliste mit der Sie die „Selektion Mitglieder einzeln“ durchführen können. Alle Mitglieder sind einzeln in der Liste und können darin gewählt werden.
Mitglieder lt. Selektion
Mit der Option Mitglieder laut Selektion können Sie die gewünschte Auswahl nach allen erdenklichen Kriterien festlegen. Hierzu sind umfangreiche Beispiele und die Möglichkeiten dazu aufgeführt.
Selektion Mitglieder einzeln
Mittels der Option „Mitglieder einzeln“ haben Sie die Möglichkeit, in der Liste aller Mitglieder die gewünschten Einträge auszuwählen.
Mit einen einfachen Mausklick können Sie den gewünschten Eintrag in der Liste der Mitglieder auswählen und markieren. Ebenso einfach können Sie ausgewählte Zeile wieder demarkieren. Wenn Sie nicht mit der Maus arbeiten möchten und die Liste eventuell zu groß und unübersichtlich ist, können Sie die gewünschte Mitglieds-Nr. direkt in das Eingabefeld links unten eintragen. Die Liste wird direkt nach der vollständigen Eingabe der Mitglieds-Nr. positioniert. Wenn Sie nun die Taste „Enter“ betätigen, wird der entsprechende Datensatz markiert. Sie können anschließend direkt mit der Eingabe der nächsten Mitgliedsnummer fortfahren. Sie erhalten unten links zusätzlich die Anzahl der markierten bzw. erfassten Datensätze.
Die Übersichtsliste besitzt wie alle Variable Listen, die Möglichkeit zur Gestaltung der Spalten. Die Funktionen Reihenfolge der Spalten tauschen und Spaltenbreite verändern stellen für die Variable Listen kein Problem dar.
Mit dem Rollbalken am unteren Rand der Übersichtsliste können Sie auch zu weiteren Feldern rechts vom Rand horizontal rollen.
Mitglieder laut Selektion
Mit der Auswahl „Mitglieder lt. Selektion“ können Sie die gewünschten Einträge nach völlig freien Kriterien auswählen. Es stehen Ihnen hierzu verschiedene unterstützende Systemfunktionen zur Verfügung. Diese sind nachfolgend erklärt.
In dem ersten oberen Feld kann eine freie Formel definiert werden. Hierzu stehen verschiedene Hilfsmöglichkeiten zur korrekten Eingabe zur Verfügung. So kann eine bereits hinterlegte Bedingung über die Standard-Selektion eingefügt werden. Ebenso kann eine neu eingetragene Bedingung gespeichert werden. Hierzu muss der Name im Feld „Standardname Selektion“ eingetragen und die Schaltfläche „Speichen“ betätigt werden. Mit dem gewählten Beispiel werden alle Mitglieder mit dem Namen „Müller“ und einem Geburtsdatum vor dem 28.08.1999 in der Selektion herangezogen.
Wenn Sie die Schreibweise zum Aufbau von Bedingungen und die Bezeichnungen der Datenfelder nicht kennen, hilft Ihnen die Feldliste und die Möglichkeiten zur Selektionslogik sicherlich weiter. Sie können hier die gewünschten Datenfelder anhand der Liste auswählen und mit einem Doppelklick in das Bedingungsfeld übernehmen. Die Möglichkeiten zur logischen Verknüpfung der Bedingungen sind unter den Kapiteln „Verknüpfte Bedingungen“ und „Verschachtelte Bedingungen“ zusammengefasst.
Mit der Schaltfläche „Prüfen“ können Sie ihre eingegebene Bedingung auf richtige Schreibweise prüfen. Dies bedeutet, dass die Formal auf Ihre formale Richtigkeit geprüft wird und vom System abgearbeitet werden kann. Den Sinn der Zusammensetzung der Formel bestimmen Sie und kann vom System natürlich nicht überprüft werden.
Standard-Selektion
Mit der Listenschaltfläche unter der Bezeichnung Bedingung können Sie eine Auswahlliste mit den hinterlegten Standardselektionen aufrufen.
Wenn Sie hier eine Selektion wählen, wird die entsprechende Formel in dem Bedingungsfeld eingefügt. Möchten Sie eine Selektion löschen, markieren Sie bitte durch einen Klick die entsprechende Selektion und betätigen Sie bitte im Tabellenfenster die rechte Maustaste. In dem Kontextmenü können Sie dann “Löschen“ anklicken.
Feldliste
Wenn Sie die Bedingung selbst definieren, stehen die nachfolgenden Datenfelder zur Verfügung. Es sind diverse Datenfelder aus den Datenbanken MITGLIED, Kontodaten Lastschrift, 2. Person und Akte für den Rechtsberater vorhanden, insgesamt mehr als 120 Felder, die mit Namen in der Spalte “Feld“ gekennzeichnet sind. Der Umfang der Datenfeldern ist immer derselbe, außer beim Dialog Mahnbescheide, dort können Sie nur Datenfelder aus der Datenbank Mahnbescheide verwenden.
In der Liste ist der Feldname, der Datentyp, die Feldlänge, die Bedeutung und die Datenbank selbst gelistet. Bei den Feldnamen handelt es sich um den Namen des Datenfeldes in der Datenbanktabelle. Bei den Datentypen wird „C“ für Charakter (Zeichen), „D“ für Datum und „N“ für Numerisch angegeben. Dazu gibt es noch den Buchstaben “L“ für eine sogenannte logische Variable, die nur den Wert “wahr“ oder “falsch“ annehmen kann. Die Länge des Datenfeldes wird in der Spalte Länge angegeben. In der Spalte Bedeutung ist eine kurze sprechende Erklärung des Datenfeldes vorhanden, damit Sie die Inhalte den Feldnamen besser zuordnen können. Als Abschluss wird noch die Datenbank angegeben, in der das entsprechende Datenfeld abgelegt ist. In der üblichen Selektion stehen Ihnen die Felder aus den folgenden 5 Datenbanken zur Verfügung:
- Mitgliedsstammdaten (MITGLIED.DBF)
- Bankdaten fürs Lastschriftenverfahren (MITGBANK.DBF)
- Daten zur Rechtsschutzversicherung (RECHTSCH.DBF)
- Daten zur 2. Person (MIPERSON.DBF)
- Daten zum Aktenregister Rechtsberater (RBRAKTE.DBF)
Die hier gezeigten Datenfelder können Sie auch in den Textbausteinen verwenden. Wollen Sie dort ein solches Feld aus dieser Feldliste verwenden, brauchen Sie nur das Nummernzeichen (“#“) vor den Feldnamen zu schreiben, also zum Beispiel für die Kontonummer des Lastschrifteneinzuges vom Mitglied “#KTONR“.
Einfache Bedingungen
Um in der Selektion die Abfragen zu formulieren, stehen Ihnen eine Reihe von Vergleichssymbolen zur Verfügung. Damit Sie hierzu einen besseren Überblick haben, sind die Möglichkeiten nachfolgend zusammengestellt.
=
gleich
#
ungleich
<
kleiner
>
größer
<=
kleiner gleich
>=
größer gleich
$
enthalten in (nur wenn Typ = ‚C‘ ist)
Eine einfache Bedingung ist z.B.: MITGNR = „1000“ . Es werden alle Mitgliedsnummern herausgesucht, die mit ‚1000‘ beginnen.
Die Bedingung MITGBANK->zahlryms = ‚0‘ sucht alle Mitglieder mit gesperrten Konten aus der Tabelle Bankdaten für das LS Verfahren heraus.
Wie Sie die rechte Seite nach den Symbolen ‚=‘, ‚<‚, usw. schreiben, hängt vom Typ des Datenbankfeldes ab. Der Typ ist in der 2. Spalte der Selektionsmaske angegeben. Es gibt die folgenden Typbezeichnungen:
C
Character oder Zeichen
Dann muss auf der rechten Seite der gesuchte Ausdruck in Hochkomma stehen. ( z.B.: „Meier“ oder ‚Meier‘ )
N
Numerisch
Auf der rechten Seite muss eine Zahl stehen. Zahlen werden generell direkt angeben. ( z.B.: SUMOBG > 100 ). Suche alle Mitglieder, deren offene Posten insgesamt größer 100 € sind.
D
Datum
Wird auf der rechten Seite ein Datumsausdruck benötigt, so muss das Datum mit der folgenden Formel angegeben werden: CTOD(„01.04.2000“). Suche alle Mitglieder heraus, die ab dem 01.04.2001 eingetreten sind, müsste so eingegeben werden: AUFNDAT >= CTOD(„01.04.2000“).
L
Logisch
Für die Abfrage von logischen Feldern (TYP “L“) muss kein Vergleich durchgeführt werden, da das Feld selbst bereits einen logischen Inhalt hat, also „Wahr“ oder „Falsch“. Wenn Sie aber dennoch eine Formel hierzu benötigen, können Sie die Vergleichswerte .T. für Wahr ( True ) oder .F. für Falsch (False) angeben. Die Punkte vor und nach dem Buchstaben sind auf jeden Fall mit einzugeben. Um alle Ratenzahler zu erhalten genügt die Eingabe von KZRATE oder aber KZRATE = .T.
Verknüpfte Bedingungen
Wenn Sie mehrere Bedingungen verknüpfen möchten, so ist auch dies ohne Probleme in MivWin möglich. Hierzu stehen Ihnen zwei Verknüpfungsoperatoren zur Verfügung.
.and.
Verknüpft zwei Bedingungen mit einen logischen „Und“. Dies bedeutet, dass beide Bedingungen mit „Ja“ bzw. „Richtig“ zu beantworten sind. Wenn dies zutrifft ist auch das Ergebnis der verknüpften Bedingung „Wahr“ und der Datensatz wird innerhalb der Selektion verwendet.
.or.
Dieser Verknüpfungsoperator verbindet zwei einzelne Bedingungen. Um hier zu einem Ergebnis von „Wahr“ zu gelangen, damit der Datensatz in der Selektion verwendet wird, reicht es aus, wenn eine von beiden Bedingungen mit „Ja“ oder „Wahr“ beantwortet wird.
Verknüpfte Bedingungen können Sie nach Belieben komplex aufbauen. Sie sind nicht auf zwei Bedingungen beschränkt, welche Sie mit einem Verknüpfungsoperator verbinden. Mit jeweils einem neuen Verknüpfungsoperator können Sie eine weitere Bedingungen in Ihrer Selektionsformel anfügen.
Nachfolgend einige Beispiele zum Aufbau von Verknüpften Bedingungen:
Selektion nach beginnendem Nachnamen:
Formel:
NAME >= „D“ .and. NAME < "F"
Inhalt:
Selektiere alle Mitglieder mit Nachname größer gleich „D“ und Nachname kleiner „F“
Bedeutung:
In der ersten Bedingung werden alle Mitglieder selektiert, welche im Nachnamen mit dem Buchstaben „D“ oder nachfolgenden Buchstaben beginnen. Also „D“,“E“,“F“,“G“, bis „Z“.
Hinzu kommt die zweite Bedingung, welche alle Mitglieder selektiert, die im Nachnamen mit einem kleineren Buchstaben als „F“ beginnen. Also „A“,“B“,“C“,“D“,“E“, das „F“ zählt nicht mehr hinzu.
Beide Bedingungen sind mit einem „.and.“ verknüpft, was bedeutet, dass beide Bedingungen erfüllt sein müssen. Es werden dann nur Datensätze selektiert, in welchen der Nachname mit „D“ oder „E“ beginnen.
Beispiel:
Nachname:
Ergebnis:
Abels
Falsch
Biehler
Falsch
Conrad
Falsch
Dehme
Wahr
Effler
Wahr
Flick
Falsch
Guder
Falsch
Selektion nach Nachnamen:
Formel:
NAME = „Meyer“ .or. NAME = „Meier“
Inhalt:
Selektiere alle Mitglieder mit Nachname gleich „Meyer“ oder Nachname gleich „Maier“
Bedeutung:
In der ersten Bedingung werden alle Mitglieder selektiert, welche im Nachnamen „Meyer“ eingetragen haben.
Hinzu kommt die zweite Bedingung, welche alle Mitglieder selektiert, die im Nachnamen den Namen „Meier“ eingetragen haben.
Beide Bedingungen sind mit einem „.or.“ verknüpft, was bedeutet, dass es reicht, wenn eine Bedingungen erfüllt ist. Es werden somit alle Datensätze selektiert, welche entweder „Meyer“ oder „Meier“ heißen.
Beispiel:
Nachname:
Ergebnis:
Maier
Falsch
Mayer
Falsch
Meier
Wahr
Meyer
Wahr
Selektion nach Strasse:
Formel:
STRASSE = „Harzstraße“ .or. STRASSE =“Hunsrückstraße“
Inhalt:
Selektiere alle Mitglieder, welche in der Strasse gleich „Harzstraße“ oder der Strasse gleich „Hunsrückstraße“ wohnen.
Bedeutung:
In der ersten Bedingung werden alle Mitglieder selektiert, welche in der Straße den Eintrag „Harzstraße“ haben.
Hinzu kommt die zweite Bedingung, welche alle Mitglieder selektiert, die in der Straße den Eintrag „Hunsrückstraße“ haben.
Beide Bedingungen sind mit einem „.or.“ verknüpft, was bedeutet, dass es reicht, wenn eine Bedingungen erfüllt ist. Es werden somit alle Datensätze selektiert, welche einen der beiden Straßennamen eingetragen haben. Ein „.and.“ als Verknüpfungsoperator wäre hier auch völlig sinnlos, da ein Mitglied nicht in zwei verschiedenen Straßen wohnen kann.
Beispiel:
Straße:
Ergebnis:
Heinrich-Heine-Allee
Falsch
Hamburger Straße
Falsch
Harzstraße
Wahr
Hunsrückstraße
Wahr
Verschachtelte Bedingungen
Eine weitere Möglichkeit einzelne Bedingungen bzw. verknüpfte Bedingungen miteinander zu verschachteln stellt die Möglichkeit der Klammerbildung dar.
Hier können Sie nach belieben logische Bedingungen aufbauen und miteinander nach ihren Wünschen verknüpfen. Werden keine Klammern eingesetzt, so werden die einzelnen Bedingungen von links nach rechts abgearbeitet und miteinander verknüpft.
( Beginn einer Verschachtelung
) Ende einer Verschachtelung
Nachfolgend ein Beispiel zum Aufbau von Verschachtelten Bedingungen:
Selektion nach Strasse:
Formel:
KZRATE .and. (MONATRZ = „2.J“ .or. MONATRZ = „4.J“)
Inhalt:
Selektiere alle Mitglieder, welche in dem logischen Feld KZRATE(„Ratenzahler“) ein „Wahr“ eingetragen haben und im Feld MONATRZ(„Info zum Ratenzahler“) entweder „2.J“ für halbjährlich oder „4.J“ für vierteljährlich eingetragen haben. Im folgenden Beispiel wird für die Ratenzahler eine Bedingung formuliert, die sowohl die halbjährigen (MONATKZ =’2.J’) als auch die vierteljährlichen Ratenzahler (MONATKZ =’4.J’) einschließt.
Bedeutung:
In der ersten Bedingung werden alle Mitglieder selektiert, welche in dem Feld KZRATE mit „Wahr“ gekennzeichnet sind. Daran ist erkennbar, dass es sich um einen Ratenzahler handelt.
Die zweite Bedingung ist eine verknüpfte Bedingung, welche sich aus zwei einzelnen Bedingungen zusammensetzt. Dies wird durch die beiden Klammern gekennzeichnet und stellt somit eine einfache Verschachtelung dar. Innerhalb dieser Verschachtelung wir das Feld „Info zum Ratenzahler“ mit Namen „MONATRZ“ ausgewertet. Die vordere Bedingung prüft, ob der Inhalt gleich „2.J“ entspricht. Die hintere Bedingung prüft den Inhalt auf „4.J“. Beide Bedingungen sind mit einem „.or.“ verknüpft, was bedeutet, dass es reicht, wenn eine Bedingungen erfüllt ist. Das Ergebnis der Verschachtelung (MONATRZ = „2.J“ .or. MONATRZ = „4.J“) ist somit wahr, wenn einer der beiden Werte beim Datensatz eingetragen ist. Erst jetzt wird das Ergebnis der ersten Bedingung KZRATE mit dem Ergebnis der Verschachtelung durch den Verknüpfungsoperator .and. verbunden. Beide Ergebnisse müssen „Wahr“ sein, damit das Gesamtergebnis ebenfalls den Status „Wahr“ enthält und der Datensatz in der Selektion verwendet wird.
Beispiel:
Ratenzahler
Info Ratenzahler
KZRATE:
MONATRZ:
Ergebnis:
Wahr
1.J
Falsch
Falsch
2.J
Falsch
Wahr
4.J
Wahr
Wahr
2.J
Wahr
Anmerkung:
Das gleiche Beispiel ohne Klammerbildung hätte bewirkt, dass alle Ratenzahler herangezogen werden, welche als Info zum Ratenzahler den Eintrag „2.J“ besitzen. Zusätzlich werden alle Datensätze hinzugefügt, welche im Info zum Ratenzahler den Wert „4.J“ besitzen, unabhängig vom Inhalt des Feldes Ratenzahler.
Selektion von Datumsfeldern:
Die Selektion bei Datumsfeldern erfordert eine etwas erhöhte Aufmerksamkeit. Wollen Sie zum Beispiel alle Mitglieder heraussuchen, die bis zum Jahresende ausgetreten sind, so müssen Sie die folgende Selektion anwenden:
Formel:
ENDEM <= CTOD(“31.12.2001”) .and. ENDEM > CTOD(““)
Inhalt:
Lassen Sie hier den 2. Ausdruck mit “.and.“ weg, so nimmt die Selektion auch die Mitglieder hinzu, bei denen noch kein Datum “Ende der Mitgliedschaft“ eingetragen ist. ENDEM <= CTOD(“31.12.2001”) schließt ein leeres Datum (=kein Eintrag) mit ein.