BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> 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

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Frewer
Beiträge: 29
Registriert: Mo 1. Feb 2021, 19:23

Suchen mittels Formular

Beitrag von Frewer » Sa 21. Mai 2022, 15:02

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

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Suchen mittels Formular

Beitrag von RobertG » Sa 21. Mai 2022, 16:58

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
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

Frewer
Beiträge: 29
Registriert: Mo 1. Feb 2021, 19:23

Re: Suchen mittels Formular

Beitrag von Frewer » Mo 23. Mai 2022, 11:41

Das Studium beginnt heute mittag. Muss erst das neue Buch runterladen, ich bin noch bei Version 62-1.

Danke und Gruß Werner

Frewer
Beiträge: 29
Registriert: Mo 1. Feb 2021, 19:23

Re: Suchen mittels Formular

Beitrag von Frewer » Mo 23. Mai 2022, 20:35

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

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Suchen mittels Formular

Beitrag von RobertG » Di 24. Mai 2022, 08:01

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
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

Frewer
Beiträge: 29
Registriert: Mo 1. Feb 2021, 19:23

Re: Suchen mittels Formular

Beitrag von Frewer » Di 24. Mai 2022, 12:38

Danke Robert, es klappt. Bin wieder ein bisschen schlauer.
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 ❤️

Antworten