🙏 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. 🤗
Volltextsuche im Formular
Volltextsuche im Formular
Hallo zusammen,
ich bin neu in diesem Bereich und habe eine Frage zur Abfrage in Formularen.
Meine Tabelle hat ca. 50 Spalten. Ich wollt gerne eine Volltextsuche im Formular wo alle Inhalte
in einer Tabelle aufgelistet werden, die das Wort oder die Zahl aus der Eingabe vom Textfeld enthalten.
Ist das möglich und wenn ja, wie ungefähr?
Edit:
Oder Alternativ was auch gut wäre...eine Liste wo ich die jeweilige Spalte auswähle in der ich Suchen will und dann im Textfeld
den Suchbegriff eingebe! Wäre das möglich?
Vielen Dank und viele Grüße
ich bin neu in diesem Bereich und habe eine Frage zur Abfrage in Formularen.
Meine Tabelle hat ca. 50 Spalten. Ich wollt gerne eine Volltextsuche im Formular wo alle Inhalte
in einer Tabelle aufgelistet werden, die das Wort oder die Zahl aus der Eingabe vom Textfeld enthalten.
Ist das möglich und wenn ja, wie ungefähr?
Edit:
Oder Alternativ was auch gut wäre...eine Liste wo ich die jeweilige Spalte auswähle in der ich Suchen will und dann im Textfeld
den Suchbegriff eingebe! Wäre das möglich?
Vielen Dank und viele Grüße
Re: Volltextsuche im Formular
Hi,
für die Variante 2,
Spalte wählen -> Suchbegriff eingeben -> Enter
habe ich dir mal ein Beispiel gebaut. Es hat ein kurzes Makro:
Damit das Makro laufen darf, stellst du unter Extras/Optionen/LibreOffice.org/Sicherheit/Makrosicherheit mindestens die Stufe "Mittel" ein, dann wirst du beim Öffnen von Dokumenten gefragt, ob du Makros ausführen möchtest.
Viel Erfolg beim Nachbauen
Gruß R
für die Variante 2,
Spalte wählen -> Suchbegriff eingeben -> Enter
habe ich dir mal ein Beispiel gebaut. Es hat ein kurzes Makro:
Code: Alles auswählen
Sub S_Suche
oform = thiscomponent.drawpage.forms.Formular_Data
olstColumns = oform.lstColumns
otxtSuchbegriff = oform.txtSuchbegriff
sColumn = olstColumns.CurrentValue
sSearchstring = otxtSuchbegriff.Text
oform.filter = "("""+sColumn+""" LIKE '%'||'"+sSearchstring+"'||'%')"
oform.reload
End Sub
Viel Erfolg beim Nachbauen
Gruß R
- Dateianhänge
-
- Durchsuche_bestimmte_Tabellenspalte.zip
- nur entpacken
- (802.75 KiB) 381-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Volltextsuche im Formular
Danke für deine Hilfe! Das klingt schonmal gut!
Ich hab mich daran orientiert, aber es hängt noch irgendwo. In der Liste werden die Spalten zur Auswahl nicht angezeigt.
Hab das soweit übernommen, wie es im Beispiel war. Woran könnte das hängen?
Ist es möglich das das Grid leer ist und nur die Suchergebnisse drin stehen?
Der Fehler ist:
Ich hab mich daran orientiert, aber es hängt noch irgendwo. In der Liste werden die Spalten zur Auswahl nicht angezeigt.
Hab das soweit übernommen, wie es im Beispiel war. Woran könnte das hängen?
Ist es möglich das das Grid leer ist und nur die Suchergebnisse drin stehen?
Der Fehler ist:
Viele GrüßeDer Inhalt eines Kombinations- oder Listenfeldes konnte nicht ermittelt werden.
SQL-Status: S0022
Fehler-Code: -28
Column not found: 2
Re: Volltextsuche im Formular
Hallo houly,
(Natürlich auf Deine Tabellen- und Spaltennamen geändert) und gebundenes Feld "0" eingegeben?
Sonst lade hier eine Beispieldatei hoch.
Gruß acco
hast Du in den Eigenschaften Deines Listenfeldes als Art des Listeninhalts "SQL [Native]" und als Listeninhalthouly hat geschrieben:In der Liste werden die Spalten zur Auswahl nicht angezeigt
Code: Alles auswählen
select COLUMN_NAME from INFORMATION_SCHEMA.SYSTEM_COLUMNS where TABLE_NAME = 'tbl_data' AND COLUMN_NAME <> 'ID'
Sonst lade hier eine Beispieldatei hoch.
Gruß acco
openSUSE Tumbleweed - LibreOffice 24.8.2.1
Re: Volltextsuche im Formular
Es lag am gebundenen FeldAcco hat geschrieben:Hallo houly,
hast Du in den Eigenschaften Deines Listenfeldes als Art des Listeninhalts "SQL [Native]" und als Listeninhalthouly hat geschrieben:In der Liste werden die Spalten zur Auswahl nicht angezeigt(Natürlich auf Deine Tabellen- und Spaltennamen geändert) und gebundenes Feld "0" eingegeben?Code: Alles auswählen
select COLUMN_NAME from INFORMATION_SCHEMA.SYSTEM_COLUMNS where TABLE_NAME = 'tbl_data' AND COLUMN_NAME <> 'ID'
Sonst lade hier eine Beispieldatei hoch.
Gruß acco

Ich hab hier das Problem, dass sich meine Tabelle im Formular nicht aktualisiert. Ich wähle in der Liste eine Spalte und such nach dem Wort, aber
es bleibt der komplette Datensatz bestehen. Gibt es eine Möglichkeit über einen Button (z.B. Suchen) das Main_Grid mit der Tabelle zu refreshen?
Re: Volltextsuche im Formular
Hallo houly,
Wenn die gebundene Spalte im Listenfeld "1" ist, wird dann der Name angezeigt, aber in der Tabelle Die ID gespeichert. Da das Listenfeld meist so genutzt wird, ist für das gebundene Feld die 1 der Standardwert.
In den Eigenschaften des Feldes "lstColumns" unter Ereignisse "modifiziert" und im Feld "txtSuchbegriff" ebenfalls unter "modifiziert". Wahrscheinlich fehlt der erste Eintrag.
Gruß acco
Im SQL-String des Listenfeldes werden oft 2 oder mehr Tabellenspalten angegeben, beispielsweise "NAME" und "ID". Die erstgenannte Spalte (Name) ist "0", die zweite (ID) ist "1".houly hat geschrieben:Das ist aber auch eine Option, von der ich leider keine Ahnung habe. Was bewirkt das?
Wenn die gebundene Spalte im Listenfeld "1" ist, wird dann der Name angezeigt, aber in der Tabelle Die ID gespeichert. Da das Listenfeld meist so genutzt wird, ist für das gebundene Feld die 1 der Standardwert.
Das Makro wird zweimal im Formular eingetragen:houly hat geschrieben: Ich wähle in der Liste eine Spalte...
In den Eigenschaften des Feldes "lstColumns" unter Ereignisse "modifiziert" und im Feld "txtSuchbegriff" ebenfalls unter "modifiziert". Wahrscheinlich fehlt der erste Eintrag.
Gruß acco
openSUSE Tumbleweed - LibreOffice 24.8.2.1
Re: Volltextsuche im Formular
Das Makro habe ich in beide Elemente eingetragen.Acco hat geschrieben: Das Makro wird zweimal im Formular eingetragen:
In den Eigenschaften des Feldes "lstColumns" unter Ereignisse "modifiziert" und im Feld "txtSuchbegriff" ebenfalls unter "modifiziert". Wahrscheinlich fehlt der erste Eintrag.
Es kommt auch kein Fehler. Ich wähle im Listenfeld die Spalte aus, gebe meinen Suchbegriff ein und drück Enter. Dann passiert gar nix.
Fehlt da noch eine Verknüpfung? Ich weiß echt nicht wo ich noch suchen soll. Eigentlich passt alles.

Re: Volltextsuche im Formular
Scheint alles richtig, lade Deine Datenbank mal hoch (verfremdet falls vertraulich).
openSUSE Tumbleweed - LibreOffice 24.8.2.1
Re: Volltextsuche im Formular
Die Datenbank ist voll mit vertraulichen Daten und auch gut gefüllt, dafür hab ich leider keine Zeit das duAcco hat geschrieben:Scheint alles richtig, lade Deine Datenbank mal hoch (verfremdet falls vertraulich).
verfremden jetzt :/ Gibt es einen Anhaltspunkt? Ich kann ggf. mich mal ransetzen und eine abgespreckte fiktive Kopie bauen.
Re: Volltextsuche im Formular
Ohne die DB zu sehen, weiß ich nicht woran es noch liegen könnte. Hast Du mal das Xray-Tool ausprobiert?
openSUSE Tumbleweed - LibreOffice 24.8.2.1
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.