Suchsyntax für Textfelder (Schlagworte, Zeichenabschnitte) ?
Moderator: Moderatoren
Suchsyntax für Textfelder (Schlagworte, Zeichenabschnitte) ?
Hallo,
wegen Linuxumstieg suche ich eine Alternative zu Filemaker Version 5.0, Base 2.1 schien mir dafür tauglich zu sein.
An meiner "Tauglichkeit" für diese Datenbank scheine ich langsam (zu Ver-) Zweifel (n) zu bekommen. Ich verfüge über kein EDV-Studium und habe keine Programmier- oder SQL-Kenntnisse, nur die neue Datenbank und ein Buch von Michael Mahrt.
Nun zu meinem Problem:
Ich habe zum Testen eine Filemaker-Feld (Stichwortsammlung) in OpenOffice-Calc als dbf-Datei abgespeichert und mit Base auf diese Datenbank
zugegriffen. Diese Stichwortsammlung ist in FileMaker ähnlich der Funktion CONCAT von Base erstellt worden (siehe Beispiel)
Beispiel:
Stichwortsammlung (Feldbezeichnung)
Winword 6.0Makrosduplizieren
Winword 6.0Hotkeys
Winword 6.0MakrosTips
Winword 6.0Dokumentenvorlagen
Winword 6.0Logoauf Briefpapier
Winword 6.0Wasserzeichen auf jeder Seite
Winword 6.0Suchen/ ErsetzenFormatierung
Nun möchte ich alle Datensätze, welche "Winword" enthalten anzeigen lassen (mittels Abfrage in der Entwurfansicht).
Feld: Tabelle1
Alias: Test
Sortierung: nein
Sichtar: ja
Funktion: nein
Kriterium: 'winword'
Kriterium: %winword% (zweiter Versuch)
nichts passiert, nur eine Ergebnis ohne Datensätze!? Was mache ich falsch?
Gruß Michael
wegen Linuxumstieg suche ich eine Alternative zu Filemaker Version 5.0, Base 2.1 schien mir dafür tauglich zu sein.
An meiner "Tauglichkeit" für diese Datenbank scheine ich langsam (zu Ver-) Zweifel (n) zu bekommen. Ich verfüge über kein EDV-Studium und habe keine Programmier- oder SQL-Kenntnisse, nur die neue Datenbank und ein Buch von Michael Mahrt.
Nun zu meinem Problem:
Ich habe zum Testen eine Filemaker-Feld (Stichwortsammlung) in OpenOffice-Calc als dbf-Datei abgespeichert und mit Base auf diese Datenbank
zugegriffen. Diese Stichwortsammlung ist in FileMaker ähnlich der Funktion CONCAT von Base erstellt worden (siehe Beispiel)
Beispiel:
Stichwortsammlung (Feldbezeichnung)
Winword 6.0Makrosduplizieren
Winword 6.0Hotkeys
Winword 6.0MakrosTips
Winword 6.0Dokumentenvorlagen
Winword 6.0Logoauf Briefpapier
Winword 6.0Wasserzeichen auf jeder Seite
Winword 6.0Suchen/ ErsetzenFormatierung
Nun möchte ich alle Datensätze, welche "Winword" enthalten anzeigen lassen (mittels Abfrage in der Entwurfansicht).
Feld: Tabelle1
Alias: Test
Sortierung: nein
Sichtar: ja
Funktion: nein
Kriterium: 'winword'
Kriterium: %winword% (zweiter Versuch)
nichts passiert, nur eine Ergebnis ohne Datensätze!? Was mache ich falsch?
Gruß Michael
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Re: Suchsyntax für Textfelder (Schlagworte, Zeichenabschnitte) ?
Folgende SQL-Syntax könnte Dir von Nutzen sein (Beispiel):
Die Abfrage öffnet beim Start ein Fenster in das Du das Stichwort als Suchbegriff eingeben kannst. Der Platzhalter % ist im vorliegen Fall nur am Ende des Suchbegriffs erforderlich.
Code: Alles auswählen
SELECT * FROM "Tabelle1" WHERE LIKE "Stichwortsammlung" = :Stichwort
ORDER BY "Stichwortsammlung" ASC
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Re: Suchsyntax für Textfelder (Schlagworte, Zeichenabschnitte) ?
Hallo Peter,
vielen Dank für Deine Hilfe. Ich befürchtete schon, daß niemand antworten würde - also vielen Dank.
Ich habe im Fenster: Abfrage in SQL-Ansicht erstellen... Deine Vorgaben reingeschrieben:
SELECT * FROM "Tabelle1" WHERE LIKE "Stichwortsammlung" = :Stichwort
ORDER BY "Stichwortsammlung" ASC
dann SQL ausgeführt
und erhielt leider immer folgende Fehlermeldung:
Syntax error SQL-expression
SQL-Status: HY000
Fehler-Code: 1000
syntax error, unexpected $end, expecting BETWEEN or IN or SQL_TOKEN_LIKE
Meine Überprüfung ergab: Tabellenbezeichnung und Feldbezeichnung (Sichwortsammlung) sind korrekt. Wie nun weiter?
Gruß Michael
vielen Dank für Deine Hilfe. Ich befürchtete schon, daß niemand antworten würde - also vielen Dank.
Ich habe im Fenster: Abfrage in SQL-Ansicht erstellen... Deine Vorgaben reingeschrieben:
SELECT * FROM "Tabelle1" WHERE LIKE "Stichwortsammlung" = :Stichwort
ORDER BY "Stichwortsammlung" ASC
dann SQL ausgeführt
und erhielt leider immer folgende Fehlermeldung:
Syntax error SQL-expression
SQL-Status: HY000
Fehler-Code: 1000
syntax error, unexpected $end, expecting BETWEEN or IN or SQL_TOKEN_LIKE
Meine Überprüfung ergab: Tabellenbezeichnung und Feldbezeichnung (Sichwortsammlung) sind korrekt. Wie nun weiter?
Gruß Michael
Re: Suchsyntax für Textfelder (Schlagworte, Zeichenabschnitte) ?
Hallo Michael,
Du hast folgenden Code genommen
Versuch mal anstelle des * die Feldbezeichnung Stichwortsammlung:
Bei mir funktioniert es so.
Gruss Markus
Du hast folgenden Code genommen
Code: Alles auswählen
SELECT * FROM "Tabelle1" WHERE LIKE "Stichwortsammlung" = :Stichwort
ORDER BY "Stichwortsammlung" ASC
Code: Alles auswählen
SELECT "Stichwortsammlung" FROM "Tabelle1" WHERE LIKE "Stichwortsammlung" = :Stichwort
ORDER BY "Stichwortsammlung" ASC
Gruss Markus
Sämtliche Probleme, welche ich ohne Computer nicht hatte, kann ich nun mit diesem lösen.
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Re: Suchsyntax für Textfelder (Schlagworte, Zeichenabschnitte) ?
Hallo Michael,
versuchs mal so:
Die Syntax war falsch.
versuchs mal so:
Code: Alles auswählen
SELECT * FROM "Tabelle1" WHERE ("Stichwortsammlung" LIKE :Stichwort)
ORDER BY "Stichwortsammlung" ASC
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Re: Suchsyntax für Textfelder (Schlagworte, Zeichenabschnitte) ?
Hallo Peter,
vielen Dank es hat funktioniert. Vieles ist mir noch nicht verständlich, da ich in SQL völlig unerfahren bin.
Warum sucht er nicht gleich das eingetragen Stichwort hinter Like und was ist ein Paremter und eine nachfolgende Wert-Eingabe?
Welche Literatur für SQL-Anfänger empfiehlst Du?
Gruß Michael
vielen Dank es hat funktioniert. Vieles ist mir noch nicht verständlich, da ich in SQL völlig unerfahren bin.
Warum sucht er nicht gleich das eingetragen Stichwort hinter Like und was ist ein Paremter und eine nachfolgende Wert-Eingabe?
Welche Literatur für SQL-Anfänger empfiehlst Du?
Gruß Michael
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Re: Suchsyntax für Textfelder (Schlagworte, Zeichenabschnitte) ?
Hallo Michael,
allgemeine Informationen findest Du z. B. unter http://de.wikipedia.org/wiki/SQL.
Nur, musst Du dann jedesmal die Syntax ändern, wenn sich der Suchbegriff ändert. Die Hostvariable :Stichwort (Parameter) bewirkt, dass Du ein Abfragefenster erhältst, in das Du den Wert eingeben kannst. D. h., Du musst die SQL-Abfage nicht ändern. Aus der Hostvariablen :Stichwort wird der Inhalt gelesen, den Du in das Abfragefenster eingibst.
Der Ausdruck LIKE steht für ähnlich und das Zeichen % (Joker) bewirkt dass was nach der Zeichenfolge Winword kommt beleibig sein kann. %Winword% bewirkt, dass Winword irgendwo in Stichwortsammlung gesucht wird.
allgemeine Informationen findest Du z. B. unter http://de.wikipedia.org/wiki/SQL.
Du kannst natürlich den Suchbegriff auch direkt eingeben, dann würde das z. B. so aussehen:Warum sucht er nicht gleich das eingetragen Stichwort hinter Like
Code: Alles auswählen
SELECT * FROM "Tabelle1" WHERE ("Stichwortsammlung" LIKE 'Winword%')
ORDER BY "Stichwortsammlung" ASC
Der Ausdruck LIKE steht für ähnlich und das Zeichen % (Joker) bewirkt dass was nach der Zeichenfolge Winword kommt beleibig sein kann. %Winword% bewirkt, dass Winword irgendwo in Stichwortsammlung gesucht wird.
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Re: Suchsyntax für Textfelder (Schlagworte, Zeichenabschnitte) ?
Hallo Peter,
vielen Dank für Deine geduldige und ausführliche Hilfe. Als langjährige FileMaker-Nutzer ist man natürlich verwöhnt auch ohne SQL-Kenntnisse eine Datenbank nutzen zu können, aber auf Linux läuft nun mal FileMaker nicht.
Aber Dank Deiner und Markus Hilfe ist es mir innerhalb von 10 Tagen gelungen eine einfache Suchabfrage zu stellen und das läßt hoffen
.
Gruß Michael
vielen Dank für Deine geduldige und ausführliche Hilfe. Als langjährige FileMaker-Nutzer ist man natürlich verwöhnt auch ohne SQL-Kenntnisse eine Datenbank nutzen zu können, aber auf Linux läuft nun mal FileMaker nicht.
Aber Dank Deiner und Markus Hilfe ist es mir innerhalb von 10 Tagen gelungen eine einfache Suchabfrage zu stellen und das läßt hoffen

Gruß Michael