Wir sind auf Ihre Unterstützung angewiesen!
💚 BITTE helfen Sie uns HEUTE mit einer SPENDE 💚
Helfen Sie das LibreOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Suchen mittels Formular
Suchen mittels Formular
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
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
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
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
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)
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
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Suchen mittels Formular
Das Studium beginnt heute mittag. Muss erst das neue Buch runterladen, ich bin noch bei Version 62-1.
Danke und Gruß Werner
Danke und Gruß Werner
Re: Suchen mittels Formular
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
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
"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.
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
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Suchen mittels Formular
Danke Robert, es klappt. Bin wieder ein bisschen schlauer.
Gruß
Werner
Gruß
Werner
An alle, die das LibreOffice-Forum nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️