Formular zur Suche von Kundennamen nach Namensteilen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Skalar
Beiträge: 2
Registriert: So, 28.09.2008 11:14

Formular zur Suche von Kundennamen nach Namensteilen

Beitrag von Skalar »

Hallo,
dies ist mein erster Beitag in diesem Forum und ich grüße somit alle die hier schon länger dabei sind.

Nun aber zu meinem Problem.
Ich habe mit Base lesenden Zugriff auf eine SQL Datenbank mit einer Kundentabelle. Ich würde gern ein Formular entwerfen,
welches mir nach Eingabe eines Teils des Kundennamens eine gefilterte Liste der passenden Kunden liefert. Als Abfrage
funktioniert das prima mit "WIE' *namensteil* '. Auch das Formular mit den Feldern ist klar.

Aber wie bringt man diese Funktion mittels Textfeld und Schaltfläche komfortabel in einem Formular unter?

MfG Skalar
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: Formular zur Suche von Kundennamen nach Namensteilen

Beitrag von Barlee »

Hallo Skalar,

willkommen im Forum!
Die Aufgabenstellung mittels Textfeld und Schaltfläche zu realisieren, läuft wohl auf die Benutzung von Makros hinaus.
Allerdings gibt es noch ein paar Alternativen.

1) Parameterabfrage:
Erstelle eine Abfrage, in der Du nicht schon den gesuchten Namensteil ("WIE' *namensteil* '), sondern einen Platzhalter verwendest, also "LIKE :Kunde", und lege diese hinter das Formular.
Rufst Du das Formular auf, dann wirst Du nach dem Kunden gefragt und kannst in einem Dialog die Namensbestandteile eingeben. Z.B. liefert die Eingabe %berg% dann Schellenberger, Amberg usw.

2.) formularbasierter Filter
füge für die Kundentabelle ein Tabellensteuerelement und eine Navigationsleiste ins Formular ein. Auf der Navigationsleiste wählst Du "Filter", wählst die zu filternde Spalte und gibst das Filterkriterium "WIE" und den gesuchten Namensteil an. Das Tabellenkontrollfeld zeigt dann nur zutreffende Datensätze.

Gruß Barlee
Skalar
Beiträge: 2
Registriert: So, 28.09.2008 11:14

Re: Formular zur Suche von Kundennamen nach Namensteilen

Beitrag von Skalar »

Danke Barlee,

ich habe wieder etwas dazu gelernt. Ich gahe auch davon aus, dass es ohne Makros nicht gehen wird. Deine beiden Lösungsansätze
haben einige Schwächen.
Barlee hat geschrieben:1) Parameterabfrage: ... Z.B. liefert die Eingabe %berg% dann Schellenberger, Amberg usw.
Das ist zwar möglich, aber wenig komfortabel. Außerdem würde die Abfrage %berg% NICHT Bergmann zu Tage fördern.

Barlee hat geschrieben:2.) formularbasierter Filter ...füge für die Kundentabelle ein Tabellensteuerelement und eine Navigationsleiste ins Formular ein.
Auf der Navigationsleiste wählst Du "Filter", wählst die zu filternde Spalte und gibst das Filterkriterium "WIE" und den gesuchten Namensteil an. ...
Das ist nicht komfortabeler als eine direkte Abfrage.

Trotzdem vielen Dank !!
Was ich suche ist eine grundsätzliche Funktion die man in fast allen Formularen braucht: >> Filterung nach teilen des Suchbegriffs <<

Wie müßte das Makro aussehen.
Eine Beispieldatei mit dem noch funktionslosem Formular "Ziel" habe ich mal angehangen.
Dateianhänge
KundenDB.odb
(29.95 KiB) 89-mal heruntergeladen
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: Formular zur Suche von Kundennamen nach Namensteilen

Beitrag von Barlee »

Hallo Skalar,

wegen Makros solltest Du mal im Basic Forum nachfragen. Dort findest Du sicher wertvolle Impulse.

Bzgl. der Parameterabfrage muss ich Deiner Aussage widersprechen:
Außerdem würde die Abfrage %berg% NICHT Bergmann zu Tage fördern.
Gestaltest Du die Abfrage in der Art :

Code: Alles auswählen

...WHERE LOWER(Kunde) like :Kundenname 
dann liefert der Suchbegriff %berg% auch den Namen Bergmann. Selbstverständlich müssen dann die Suchbegriffe IMMER klein geschrieben werden.

Gruß Barlee
Antworten