Hallo Leute,
bin ein ziemlicher Neuling, was Access betrifft, von daher hoffe ich, dass mir hier jemand helfen kann.
Leider konnte ich keinen passenden Thread für mein Problem finden, daher starte ich ein neues Thema.
Es handelt sich um ein einfaches Problem:
Es geht um amerikanische Staaten und ihre Hauptstädte. Ich habe eine Tabelle mit den Spalten ,,Staat" und ,,Hauptstadt".
Nun möchte ich in einem Formular (,,Hauptstadtsuche") über eine Textbox (Text3) einen Staat eingeben.
Über das Drücken eines Buttons soll dann eine Abfrage ausgeführt werden, in der in der ersten Spalte der ausgewählte Staat und in der zweiten Spalte die dazugehörige Hauptstadt stehen soll.
Den Button habe ich mit dem Befehlsschaltflächen-Assistenten erstellt (Diverse -> Abfrage ausführen).
Als Kriterium habe ich dann in der Abfrage beim Feld ,,Staat" folgendes eingetragen:
Wie [Forms]![Hauptstadtsuche]![Text3]
Wenn ich in der Entwurfsansicht der Abfrage auf Ausführen klicke funktioniert das Ganze auch (wenn in Text3 ein passender Staatenname steht).
Wenn ich allerdings auf den Button im Hauptstadtsuche-Formular klicke, funktioniert es nicht! Wieso? Und wie kann ich es ändern?
Danke schon im Voraus an alle
Hallo,
ZitatDen Button habe ich mit dem Befehlsschaltflächen-Assistenten erstellt (Diverse -> Abfrage ausführen).
Es nützt nichts, die Abfrage auszuführen, du musst sie an das Formular binden, bzw. einen Filter setzen.
Wenn du die Abfrage als Datenquelle des Formulars einsetzt, so genügt ein "Me.Requery" nach Auswahl des Staates, ein Button wird dazu nicht unbedingt benötigt.
Hey, danke für die schnelle Antwort. Jetzt bin ich leider noch ziemlicher Anfänger und kann nicht wirklich etwas mit dem Me.Requery anfangen.
Wie wäre denn die einfachste Lösung für das Problem? An dieser Stelle etwas Pseudo-Code:
- Nehme den eingegebenen/ausgewählten Staat
- Suche in der Datenbank nach dem passenden Staat
- Gebe mir die dazugehörige Hauptstadt in einem Textfeld zurück
Wichtig ist mir, dass ich eine Interaktion mit dem User erzielen kann; sprich dass der User entscheidet, was er suchen will.
Hi,
so sollte das klappen:
- setze die Abfrage als Datenquelle des Formulars ein
- stelle die Ereigniseigenschaft "Nach Aktualisierung" des Textfeldes für die Auswahl des Staates auf "Ereignisprozedur" ein
- gehe über die drei Punkte in den VBA-Editor
- gib dort in der vorbereiteten Ereignisprozedur den Befehl "Me.Requery" ein
Hi,
also ich habe jetzt:
- ein neues Formular erstellt
- ein Textfeld Text0 erstellt
- im Eigenschaftenblatt des Formulars die Datensatzquelle auf "Hauptstadtanzeige" (Abfrage bestehend aus den Spalten "Staat" und "Hauptstadt") gesetzt
- eine Ereignisprozedur nach Aktualisierung des Textfeldes Text0 ausgewählt
- den VBA-Editor gestartet und Me.Requery eingesetzt
Leider steht in der VBA Prozedur nun lediglich Me.Requery.
Woher weiß denn das Programm das ich in dem Textfeld Text0 den Staat eingebe und das Programm den Staat aus diesem Textfeld nimmt und die Hauptstadt in einem anderen Textfeld ausspuckt?
Da muss doch bestimmt noch Code geschrieben werden...?
Irgendwie will mir Access einfach nicht einleuchten...
Mein Vorschlag bezog sich auf diesen Hinweis von dir:
Zitat von: Cookie1 am Mai 12, 2015, 14:12:30
Als Kriterium habe ich dann in der Abfrage beim Feld ,,Staat" folgendes eingetragen:
Wie [Forms]![Hauptstadtsuche]![Text3]
Diese Abfrage solltest du an das Formular "Hauptstadtsuche" binden.
Hallo, habe das Problem nun gelöst bekommen :)
--> http://www.office-loesung.de/p/viewtopic.php?f=167&t=692127&p=2870026#p2870026