Access Listenauswahl

Liebe ExpertInnen,

ich möchte einen Mitgliedersatz bearbeiten und über eine Namensliste ein bestimmtes Mitglied auswählen. Das mache ich (abgeschrieben aus Professionelles DB-Design mit Access) mit einem Kombinationsfeld, das aus ID, Name und Vorname besteht; Name & Vorname werden zur Auswahl angezeigt, ID als gebundenes Feld wird dann benutzt, um den Datensatz zu suchen. Die Auswahl im Dropdown klappt erstmal auch, nur wird der gewünschte Datensatz entweder

  • nicht gefunden oder
  • nicht gesucht oder
  • nicht angezeigt.

Statt dessen steht der vorherige Datensatz wie angenagelt auf dem Tableau. Fehlermeldungen kommen keine. In einem zweiten Buch (VBA mit Access) bin ich über den Tipp gestolpert, dass das Feld, dessen Wert gesucht wird, aktiviert sein muss - es ist.

Mir ist völlig rätselhaft, was da passiert. Mir wäre wohler, wenn ich zB das Eregebnis einer Suche abfragen könnte. Wer weiß was? Oder wer verrät mir eine Einführung in Access, die über das Erklären_von_Knöpfen_im_Windows-Stil hinausgeht?

Gruß Ralf

Spoiler
Liebe ExpertInnen,

bevor ich einen Anschiss kriege, weil gerade jemand an einer Antwort sitzt:

Die Funktion SuchenDatensatz hat einen Parameter namens Suchbereich [Aktuelles Feld / Alle Felder], wenn der auf [Alle Felder] steht, dann läuft die Chose. Verstehen tue ich das nicht, aber was soll’s - ein halber Tag ist schon hin.

Danke fürs Zuhören!
Gruß Ralf

Hallo Ralf,

keine Ahnung welches Access du da hast!?
Keine Ahnung was du da abgeschrieben hast!?

Mir ist völlig rätselhaft, was da passiert.

du hast den VBA - Teil der Vorlage auch mit abgetippt?

Mir wäre wohler, wenn ich zB das Eregebnis einer Suche abfragen könnte.

könntest du das etwas genauer beschreiben?

Wer weiß was?

wollen wir es mal versuchen:
Du hast ein Formular? das als Datenbasis eine Tabelle hat?
Du hast über Ansicht den Formularkopf- und Fuß eingeschaltet?

Du hast die Symbolleiste TOOLBOX im Bearbeitungsmodus eingeschaltet ?

Dort gibt es ein Symbol für ein Kombinationsfeld.
Klicke bitte dort drauf und dann in den Kopfbereich deines Formulares.

Es wird dort ein Kombinationsfeld erstellt. Das gute daran: es wird mit einem Assistenten installiert:

Dieser fragt dich z.B.:
() Einen Datensatz im Formular basierend auf den Eingaben im Kombinationsfeld suchen.
Auf den folgenden Fenstern kannst du dann auswählen, was alles angezeigt werden soll etc.

Oder wer verrät mir eine Einführung in Access, die
über das Erklären_von_Knöpfen_im_Windows-Stil hinausgeht?

dann benötigst du ein Kompendium:
http://www.amazon.de/Access-Kompendium-Professionell…

und/oder
http://www.pcwelt.de/start/gaming_fun/archiv/35264/

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Lieber Ralf,

Die Funktion SuchenDatensatz hat einen Parameter namens
Suchbereich [Aktuelles Feld / Alle Felder], wenn der auf [Alle
Felder] steht, dann läuft die Chose. Verstehen tue ich das
nicht, aber was soll’s - ein halber Tag ist schon hin.

diese Art der Suche sucht vorrangig in dem Feld, wo der Cursor drin steht. Steht der Cursor in deinem Suchfeld, und nicht z.B. im Feld [Vorname], kannst du dich totsuchen und natürlich keinen Vornamen mit der Feldsuche finden.
Erst wenn du alle Felder wählst, sucht Access in allen Feldern und prüft nicht in welchem der Cursor steht.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Moin, Wolfgang,

diese Art der Suche sucht vorrangig in dem Feld, wo der Cursor
drin steht.

das ist ja das Bekloppte - der Cursor steht genau da, wo er hingehört. Ich zeige in der Liste Name & Vorname, gebundenes Feld ist die ID. Ich hatte explizit den Cursor nach der Aktion auf das 1. Eingabefeld gesetzt, weil die ID eh nicht eingabefähig ist.

Gruß Ralf

Moin Ralf,

diese Art der Suche sucht vorrangig in dem Feld, wo der Cursor
drin steht.

das ist ja das Bekloppte - der Cursor steht genau da, wo er
hingehört.

der FELDNAME ist das entscheidende!!

Ich zeige in der Liste Name & Vorname, gebundenes
Feld ist die ID. Ich hatte explizit den Cursor nach der
Aktion auf das 1. Eingabefeld gesetzt, weil die ID eh nicht
eingabefähig ist.

das ist alles egal! Du stehst mit dem Cursor im SUCHFELD und nicht in dem Feld wo du was suchen willst.

Um z.B. nach der ID zu suchen, müßtest du in deinem Formular mit dem Cursor in das Feld ID gehen. Also reinklicken.

Nur dann bist du nicht mehr in deinem Suchfeld und eine Suche würde nicht funktionieren.

Im VBA - Code müßtest du dann erstmal in das Feld springen, bevor die eigentliche Suchfunktion aktiviert wird.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

1 Like

Moin, Wolfgang,

jiatz hammas: Das Beispiel, das ich abgekupfert habe, ist falsch. Es beginnt mit der Cursor-Positionierung, dann kommt AnzeigenAlleDatensätze (das setzt den Cursor wohl wieder in das Suchfeld) und danach das SuchenDatensatz. Ich setze den Cursor jetzt unmittelbar vor dem SuchenDatensatz, und man möcht’s nicht glauben: Schon klappt es, sogar mit Suche auf „nur aktuelles Feld“.

Danke nochmal
Gruß Ralf