🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Suchabfrage über mehrere Felder

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
ATK
Beiträge: 7
Registriert: So 16. Jun 2013, 20:38

Suchabfrage über mehrere Felder

Beitrag von ATK » Mi 26. Jun 2013, 20:11

Hallo zusammen!

Ich möchte gerne eine Suchabfrage über min. zwei Felder machen, die jedoch unterschiedlich sind. Diese Abfrage soll am Ende noch editierbar sein...

Ausgangspunkt ist eine Art Adresstabelle mit Namen, Vornamen, Geburtsdatum etc... . Im Moment kann ich jeweils ein Feld einer Filtertabelle belegen und anschließend die Ausgangstabelle nach dem eingegebenen Suchstring oder eingegebenes komplettes Datum in der Filtertabelle filtern lassen.

Bei der Verwendung der Suchabfrage der Beispieldatenbank des Base-Handbuches (Suchen und Filtern) vom Robert G. funktioniert es wie ein Traum... Es werden die einzelnen Felder ausgelesen und anschließend in den Feldern gesucht.

Und jetzt kommt der Haken: um die Datenbank mehrbenutzerfähig zu machen, habe ich sie auf mySQL ausgelagert. Alles funktioniert, bis auf die traumhafte Suchabfrage. Ich denke, es am Makro und da kenne ich mich leider überhaupt nicht aus.

Könnte mir da jemand aus dem Forum bitte weiterhelfen? Vielen Dank...

Gruß
Arne

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Suchabfrage über mehrere Felder

Beitrag von RobertG » Mi 26. Jun 2013, 21:47

Hallo Arne,

vielleicht schreibst Du einmal, welches von den in dem Beispiel liegenden Formularen so funktioniert, wie Du es brauchst. Dann werde ich hier mit MySQL einmal testen.

Die Suchfunktionen sind natürlich so, wie ich sie mit einer Filtertabelle geschrieben habe, erst einmal auf den Einbenutzerbetrieb gemünzt. Die Tabellen, in die die Suchbegriffe eingetragen werden, dürfen also für die anderen Benutzer mit dem Inhalt nicht existieren. Das geht dann nur mit einer temporären Tabelle, die nur für den eigenen Verbindungsthread nutzbar ist. Müsste also eine Tabelle Sein, die beim Start der MySQL-Verbindung erstellt wird und dann genauso vorhanden ist wie die Tabelle "Filter" im Einzelbetrieb.

Gruß

Robert
Zuletzt geändert von RobertG am Do 27. Jun 2013, 09:15, insgesamt 1-mal geändert.
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

ATK
Beiträge: 7
Registriert: So 16. Jun 2013, 20:38

Re: Suchabfrage über mehrere Felder

Beitrag von ATK » Mi 26. Jun 2013, 22:21

Hallo Robert,
RobertG hat geschrieben: ...
vielleicht schreibst Du einmal, welches von den in dem Beispiel liegenden Formularen so funktioniert, wie Du es brauchst. Dann werde ich hier mit MySQL einmal testen.
Brauchen täte ich die Funktion wie im Formular "Suchabfrage" der Beispieldatenbank "Suchen_und_Filtern". Das wäre perfekt, da das Ergebnis der Abfrage weiterhin editierbar ist und man die Möglichkeit hat, Daten zu verändern, löschen oder hinzuzufügen.
RobertG hat geschrieben:Die Tabellen, in die die Suchbegriffe eingetragen werden, dürfen also für die anderen Benutzer mit dem Inhalt nicht existieren. Das geht dann nur mit einer temporären Tabelle, die nur für den eigenen Verbindungsthread nutzbar ist. Müsste also eine Tabelle Sein, die beim Start der MySQL-Verbindung erstellt wird und dann genauso vorg´handen ist wie die Tabelle "Filter" im Einzelbetrieb.
Das heißt also generell, das ich bei MySQL so viele verschiedene Benutzer für die Datenbank hinzufügen / anlegen muss, wie daran arbeiten müssen. Bisher hatte ich es auf einen "Sammelbenutzer" mit dem gleichen Kennwort beschränkt, die sich dann von unterschiedlichen Rechnern aus auf der Datenbank angemeldet hatten.

Grüße
Arne

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Suchabfrage über mehrere Felder

Beitrag von RobertG » Do 27. Jun 2013, 09:20

Hallo Arne,
ATK hat geschrieben:
RobertG hat geschrieben:Die Tabellen, in die die Suchbegriffe eingetragen werden, dürfen also für die anderen Benutzer mit dem Inhalt nicht existieren. Das geht dann nur mit einer temporären Tabelle, die nur für den eigenen Verbindungsthread nutzbar ist. Müsste also eine Tabelle Sein, die beim Start der MySQL-Verbindung erstellt wird und dann genauso vorhanden ist wie die Tabelle "Filter" im Einzelbetrieb.
Das heißt also generell, das ich bei MySQL so viele verschiedene Benutzer für die Datenbank hinzufügen / anlegen muss, wie daran arbeiten müssen. Bisher hatte ich es auf einen "Sammelbenutzer" mit dem gleichen Kennwort beschränkt, die sich dann von unterschiedlichen Rechnern aus auf der Datenbank angemeldet hatten.
Nein, das ist nicht abhängig von irgendeiner Benutzerzahl. Das wird mit dem Thread geregelt. Du kannst so eine temporäre Tabelle nur auf dem Arbeitsplatz sehen, von dem aus Du Dich angemeldet hast. Mit dem Benutzer hat das nichts zu tun. Der ist ja standardmäßig irgendwo für so eine Datenbank festgelegt.

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

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Suchabfrage über mehrere Felder

Beitrag von RobertG » Fr 28. Jun 2013, 20:48

Hallo Arne,

ich habe die Suchtabelle jetzt einmal an MySQL und den dortigen Mehrbenutzerbetrieb angepasst. Die Umformulierung des Makros war weniger das Problem. Der Teufel steckt dann meist im Detail. So kann auf eine temporäre Tabelle in MySQL (oder bei der MariaDB, die ich hier habe) nicht zweimal innerhalb einer Abfrage zugegriffen werden. Dadurch musste ich die Abfrage zusätzlich anpassen und das Makro etwas umstellen. Dann kam noch das Problem hinzu, dass die temporäre Tabelle natürlich existieren muss, bevor das Formular auf sie zugreifen will. Deshalb muss die temporäre Tabelle am besten beim Öffnen der *.odb-Datei geschrieben werden. Das Makro ist hier also entsprechend eingebunden.

Grundlage für die Funktion ist in dem Beispiel weiter die Tabelle, die in der Beispieldatenbank "Suchen_und_Filtern" vorhanden ist. Ich habe die einfach zum Testen nach MySQL importiert.

Die an MySQL angepasste Version hänge ich an.

Gruß

Robert
Dateianhänge
MySQL_JDBC_Suchen_und_Filtern.odb.zip
Allroundversion MySQL - nur eine Eingabe der Tabelle im Makro notwendig.
(11.94 KiB) 204-mal heruntergeladen
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


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten