🙏 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. 🤗

Volltextsuche im Formular

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
houly
Beiträge: 12
Registriert: Mi 30. Jul 2014, 14:05

Volltextsuche im Formular

Beitrag von houly » Mi 30. Jul 2014, 14:10

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

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Volltextsuche im Formular

Beitrag von F3K Total » Mi 30. Jul 2014, 19:20

Hi,
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
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
Dateianhänge
Durchsuche_bestimmte_Tabellenspalte.zip
nur entpacken
(802.75 KiB) 381-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO

houly
Beiträge: 12
Registriert: Mi 30. Jul 2014, 14:05

Re: Volltextsuche im Formular

Beitrag von houly » Do 31. Jul 2014, 09:42

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:
Der Inhalt eines Kombinations- oder Listenfeldes konnte nicht ermittelt werden.
SQL-Status: S0022
Fehler-Code: -28

Column not found: 2
Viele Grüße

Acco
Beiträge: 94
Registriert: Fr 31. Jan 2014, 16:41

Re: Volltextsuche im Formular

Beitrag von Acco » Do 31. Jul 2014, 10:09

Hallo houly,
houly hat geschrieben:In der Liste werden die Spalten zur Auswahl nicht angezeigt
hast Du in den Eigenschaften Deines Listenfeldes als Art des Listeninhalts "SQL [Native]" und als Listeninhalt

Code: Alles auswählen

select COLUMN_NAME from INFORMATION_SCHEMA.SYSTEM_COLUMNS where TABLE_NAME = 'tbl_data' AND COLUMN_NAME <> 'ID'
(Natürlich auf Deine Tabellen- und Spaltennamen geändert) und gebundenes Feld "0" eingegeben?

Sonst lade hier eine Beispieldatei hoch.

Gruß acco
openSUSE Tumbleweed - LibreOffice 24.8.2.1

houly
Beiträge: 12
Registriert: Mi 30. Jul 2014, 14:05

Re: Volltextsuche im Formular

Beitrag von houly » Do 31. Jul 2014, 10:32

Acco hat geschrieben:Hallo houly,
houly hat geschrieben:In der Liste werden die Spalten zur Auswahl nicht angezeigt
hast Du in den Eigenschaften Deines Listenfeldes als Art des Listeninhalts "SQL [Native]" und als Listeninhalt

Code: Alles auswählen

select COLUMN_NAME from INFORMATION_SCHEMA.SYSTEM_COLUMNS where TABLE_NAME = 'tbl_data' AND COLUMN_NAME <> 'ID'
(Natürlich auf Deine Tabellen- und Spaltennamen geändert) und gebundenes Feld "0" eingegeben?

Sonst lade hier eine Beispieldatei hoch.

Gruß acco
Es lag am gebundenen Feld ;) War auf 1. Das ist aber auch eine Option, von der ich leider keine Ahnung habe. Was bewirkt das?
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?

Acco
Beiträge: 94
Registriert: Fr 31. Jan 2014, 16:41

Re: Volltextsuche im Formular

Beitrag von Acco » Do 31. Jul 2014, 10:53

Hallo houly,
houly hat geschrieben:Das ist aber auch eine Option, von der ich leider keine Ahnung habe. Was bewirkt das?
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".
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.
houly hat geschrieben: Ich wähle in der Liste eine Spalte...
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.

Gruß acco
openSUSE Tumbleweed - LibreOffice 24.8.2.1

houly
Beiträge: 12
Registriert: Mi 30. Jul 2014, 14:05

Re: Volltextsuche im Formular

Beitrag von houly » Do 31. Jul 2014, 11:13

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.
Das Makro habe ich in beide Elemente eingetragen.
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. :roll:

Acco
Beiträge: 94
Registriert: Fr 31. Jan 2014, 16:41

Re: Volltextsuche im Formular

Beitrag von Acco » Do 31. Jul 2014, 14:21

Scheint alles richtig, lade Deine Datenbank mal hoch (verfremdet falls vertraulich).
openSUSE Tumbleweed - LibreOffice 24.8.2.1

houly
Beiträge: 12
Registriert: Mi 30. Jul 2014, 14:05

Re: Volltextsuche im Formular

Beitrag von houly » Do 31. Jul 2014, 14:52

Acco hat geschrieben:Scheint alles richtig, lade Deine Datenbank mal hoch (verfremdet falls vertraulich).
Die Datenbank ist voll mit vertraulichen Daten und auch gut gefüllt, dafür hab ich leider keine Zeit das du
verfremden jetzt :/ Gibt es einen Anhaltspunkt? Ich kann ggf. mich mal ransetzen und eine abgespreckte fiktive Kopie bauen.

Acco
Beiträge: 94
Registriert: Fr 31. Jan 2014, 16:41

Re: Volltextsuche im Formular

Beitrag von Acco » Do 31. Jul 2014, 16:40

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.



Antworten