Seite 1 von 1
Suchen mittels Formular
Verfasst: Sa 21. Mai 2022, 15:02
von Frewer
Hallo,
habe eine Datenbank mit der Tabelle "Transistor". Nun möchte ich die Tabelle mit einem Formular nach einem bestimmten Begriff durchsuchen und im Formular zB mit einem Tab-Steuerfeld das Ergebnis angezeigt bekommen.
Bspl: Die Tabelle hat die Felder "Bez", "Volt", "Amp", etc. Ich suche unter "Bez" das Bauteil "BC109" und möchte für dieses Bauteil alle Felder der betroffenen Zeile angezeigt bekommen. Oder, wenn ich nur "BC" eingebe, dann sehe ich alle im Feld "Bez" vorhandenen Bauteile mit "BCxxx" und die jeweils zugehörigen Felder.
Gruß Werner
Re: Suchen mittels Formular
Verfasst: Sa 21. Mai 2022, 16:58
von RobertG
Hallo Werner,
nutze zum Suchen eine Tabelle, in die nur ein Datensatz geschrieben wird. Im Handbuch nenne ich die immer "Filter". Der Primärschlüssel ist dort ein Ja/Nein-Feld. Es wird nur immer der Datensatz geändert, bei dem die ID mit 'Ja' ausgewählt ist.
Dein Formular hat dann einmal ein Formular für die Tabelle "Filter" und ein Nebenformular, in dem alle Bauteile stehen (Datenquelle: Abfrage, siehe unten). Das Formular für die Tabelle "Filter" wird so eingeschränkt, dass es nur den Datensatz für "ID" = TRUE anzeigt, keine Datenlöschung, keine neuen Daten usw. zulässt - nur Datenänderung.
Die Abfrage für Deine Suche ist dann
Code: Alles auswählen
SELECT * FROM "Tabellenname"
WHERE "Bez" LIKE ( SELECT "Suchbegriff" ||'%' FROM "Filter" WHERE "ID" = TRUE)
In "Suchbegriff" in der Tabelle "Filter" steht 'BC'. Alle "Bez", die mit 'BC' beginnen, werden dann angezeigt.
Das findest Du noch weiter aufgeschlüsselt im Kapitel
Datenbankaufgaben → Datensuche → Suche mit LIKE im Handbuch, im Base-Handbuch 7.2 auf S. 405.
Gruß
Robert
Re: Suchen mittels Formular
Verfasst: Mo 23. Mai 2022, 11:41
von Frewer
Das Studium beginnt heute mittag. Muss erst das neue Buch runterladen, ich bin noch bei Version 62-1.
Danke und Gruß Werner
Re: Suchen mittels Formular
Verfasst: Mo 23. Mai 2022, 20:35
von Frewer
Hallo Robert,
Ergebnis meines Studiums:
1. Tabelle "Suchtab" erstellt mit "ID" JA/NEIN, "Suchbegriff" Text
2. Abfrage "SAbfrage" erstellt mit SQL wie vorgeschlagen (unklar Begriff "Code: Alles auswählen")
getestet mi Eingabe in "Suchtab" -> funktioniert
3. Formular "TR-Suchen" erstellt mit "Formular1" und "Formular2"
Formular1 Daten-> Tabelle -> "Suchtab" mit FILTER "ID=TRUE" und nur Daten ändern
Textfeld1 mit Datenfeld= "Suchbegriff"
Formular2 Daten -> Abfrage -> "Suchabfrage"
TabellenSteuerelement
Gebe ich nun in das Textfeld "BC5" ein, dann zeigt das Steuerelement nichts an. Öffne ich Tabelle "Suchtab", dann steht da nichts drin. Ich frage mich wieso beim Return der Textinhalt aus Formular1 nicht in die Tabelle übernommen wird und wie setze ich die ID auf TRUE. Wäre das der Fall, dann wäre ich ein ganzes Stück weiter, denn wenn ich in der Tabelle ID auf True setze und in den Suchbegriff was schreibe, dann zeigt mir die Abfrage das Ergebnis korrekt an.
Der Text auf Ste 405 ff ist hilfreich zum Verständnis. Für mich würde ein einfaches Beispiel die Sache wesentlich klarer machen (ich hänge schlcht an dem Formular und der Tabelle "Suchtab" und das ist sicher ganz einfach erklärbar doch komme ich nicht drauf).
Gruß
Werner
Re: Suchen mittels Formular
Verfasst: Di 24. Mai 2022, 08:01
von RobertG
Frewer hat geschrieben: ↑Mo 23. Mai 2022, 20:35
2. Abfrage "SAbfrage" erstellt mit SQL wie vorgeschlagen (unklar Begriff "Code: Alles auswählen")
"Code: Alles auswählen" erscheint, wenn ich über die Eingabemöglichkeit des Forums Code anzeigen lasse (Symbol: </>). Da kannst Du drauf klicken und der gesamte Code, der in der Box steht, wird markiert.
Frewer hat geschrieben: ↑Mo 23. Mai 2022, 20:35
Gebe ich nun in das Textfeld "BC5" ein, dann zeigt das Steuerelement nichts an.
Dir fehlt der Button zum Aktualisieren. Das geht nicht mit einem Return in Formular 1. Baue in Formular 2 einen Button ein, der die Aktion "Formular aktualisieren" ausführt.
Die Speicherung von Formular 1 erfolgt dann automatisch, wenn Du irgendwo anders als in Formular 1 hinklickst. Und dieses "irgendwo anders" ist der Button. Dann trägt der Button erst dazu bei Formular 1 ab zu speichern und anschließend Formular 2 zu aktualisieren.
Gruß
Robert
Re: Suchen mittels Formular
Verfasst: Di 24. Mai 2022, 12:38
von Frewer
Danke Robert, es klappt. Bin wieder ein bisschen schlauer.
Gruß
Werner