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
🙏 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!🍀
>> 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
Re: Suchabfrage über mehrere Felder
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
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
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Suchabfrage über mehrere Felder
Hallo Robert,
Grüße
Arne
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: ...
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.
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.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.
Grüße
Arne
Re: Suchabfrage über mehrere Felder
Hallo Arne,
Gruß
Robert
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.ATK hat geschrieben: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.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.
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: Suchabfrage über mehrere Felder
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
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
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.