online 1
gast (50)

/ Forum / Datenbanken

DatenbankenDatenbanken

Fragevon Steinway vom 28.08.2019, 12:36 Options

Suche innerhalb eines Abfrageergebnisses

Hallo zusammen, ich habe eine Abfrage in Access 2002 programmiert,
die eine Musikdatenbank nach Titel und nach Interpret sortiert.
Die Ergebnisse werden in einem Formular in zwei nebeneinanderliegenden Fenstern angezeigt.
Wenn ich in einem der Fenster einen Buchstaben eingebe, springt der Cursor zu dem Interpreten bzw. Titel, der mit diesem Buchstaben anfängt.
Wie kann ich erreichen, dass der Cursor bei Eingabe eines weiteren Buchstabens nicht zum nächsten Interpreten/Titel springt, der mit dem Buchstaben anfängt, sondern zu den Datensätzen, in denen beide Buchstaben vorkommen?
Beispiel: Wenn erst B eingebe und dann E, sollen sowohl Beatles als auch Beach-Boys angezeigt werden und nicht ein Interpret, der mit E anfängt.


Antwort schreiben

Antwort 1 von Teddy7 vom 28.08.2019, 13:19 Options

Dazu sollte man wissen, wie Du das bisherhige Springen programmiert hast.

Gruß
Teddy

Antwort 2 von Steinway vom 28.08.2019, 14:02 Options

Danke für die schnelle Antwort, das Springen habe ich nicht programmiert, das funktioniert automatisch.
Die Abfrage habe ich programmiert, indem ich die anzuzeigenden Felder und die Sortierung in der Entwurfsansicht angegeben habe

Antwort 3 von Teddy7 vom 28.08.2019, 15:14 Options

Kann ich mir nicht so recht vorstellen. Was sind denn das für "Fenster" ? Unterformulare, Listboxen, Kombifelder,......

Und wo (in was für einem Feld) gibst Du den Buchstaben ein ?

Antwort 4 von Steinway vom 28.08.2019, 21:38 Options

Bei den Fenstern handelt es sich um zwei Listenfelder, unter Herkunftstyp habe ich Tabelle/ Abfrage eingetragen und unter Datensatzherkunft folgenden Ausdruck:
SELECT [Tabellenname].[INTERPRET], [Tabellenname].[SONG], [Tabellenname].[CD-TITEL], [Tabellenname].[TRACK] FROM [Tabellenname] ORDER BY [INTERPRET];
bzw. ORDER BY Song für die andere Liste.

Antwort 5 von Steinway vom 28.08.2019, 21:40 Options

Wenn ich das Formular öffne, erscheinen rechts und links die beiden Listen und dort gebe ich die Buchstaben ein

Antwort 6 von RalfH vom 29.08.2019, 07:19 Options

Guten Morgen Steinway,
Hier kann man mit dem Like Operator arbeiten.

Man könnte beim Ereignis "Bei Taste Auf" eingeben:
Me.FilterOn = False
Me.Filter = "suche like '*" & Dein TextFeld& "*'"
Me.FilterOn = True
eingeben.
Gruß Ralf

Antwort 7 von Teddy7 vom 29.08.2019, 08:37 Options

Innerhalb der Listenfelder geht das gar nicht. Es wird nur nach dem Anfangsbuchstaben gesucht/positioniert. Drückt man den Buchstaben nochmals, dann springt er auf den nachsten Begriff, der mit diesem Buchstaben anfängt.

Mach mal Kombifelder daraus.

Ansonsten bleibt Dir nur die aufwändige Programmierung über ein zusätzliches freies Suchfeld und den Filter wie von Ralf beschrieben.

Gruß
Teddy

Antwort 8 von Steinway vom 29.08.2019, 14:15 Options

Danke für Eure Vorschläge,
die Eingabe mehrerer Buchstaben über ein Kombinationsfeld funktioniert, jedoch wird nur der Inhalt eines Feldes angezeigt.
Heisst das, dass ich für jedes Feld der Tabelle, das ich angezeigt haben möchte, ein Kombinationsfeld in das Formular einbauen muss?
Und wie stelle ich dann den Zusammenhang zwischwen der Eingabe in das Kombinationsfeld und der Ausgabe der dazugehörigen Datensätze her ?

Ist es denn nicht möglich, dass eine Tabelle mit Spaltenüberschriften angezeigt wird, in der alle Datensätze sortiert nach einem Feld dargestellt werden.und der Cursor innerhalb dieser Tabelle zu den in Frage kommenden Datensätzen springt bei Eingabe mehrerer Buchstaben

Antwort 9 von Teddy7 vom 29.08.2019, 15:18 Options

1) in einem Kombifeld können mehrere Felder eines Datensatzes angezeigt werden - es kann aber nur nach einem Feld gesucht werden

2) natürlich ist das möglich - siehe Antwort von Ralf
Dazu würde man die Daten in einem Unterformular anzeigen und dieses Unterformular mittels Filter auf die in einem separaten, ungebundenen Textfeld eingegebenen Buchstaben beschränken

oder man würde VBA-Code schreiben, der mittels goto Record oder mittels bookmark die Treffer markiert.

ODER aber man macht die russische Lösung und zeigt einfach alle Datensätze in einem Endlosformular an und benutzt zum sortieren und suchen die Access-"Bordmittel"

Gruß
Teddy

Ähnliche Themen

Suche Suche
d.na  04.01.2007 - 122 Hits -

Suche nach günstigen Internetanbieter
sigrid1968  08.04.2008 - 76 Hits - 12 Antworten

suche Konmmunikatiionsprogram
Day  18.06.2008 - 68 Hits - 6 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026