Suchfunktion per Formular
Moderator: Moderatoren
-
- Beiträge: 6
- Registriert: So, 25.06.2006 14:07
- Wohnort: HH
- Kontaktdaten:
Suchfunktion per Formular
Hallo ihr alle...
ich bin ehemaliger Nutzer von Access und da hatte ich die möglichkeit eine Suchfunktion über eine Abfrage in meine Formulare einzubauen, dies hab ich allerdings bei Base nicht hinbekommen, auch wenn ich meine Access-Datenbanken per Base öffne, wie kann ich das denn nu realisieren?
Beispiel DB:
Adressdatenbank
Spalten:
1. ID
2. Name
3. Vorname
4. Tel
Formular:
Suche:
Suchmaske in der ich nach Name und Vorname suchen kann und er mir die Ergebnisse direkt unter der Maske in Tabelle (Name, Vorname und Tel.) anzeigt, dass muss doch möglich sein, hab nur bisher noch nichts passendes gefunden wäre Toll wenn mir mal jemand eine kleine Beispiel DB erstellen könnte... Würde mir sehr weiterhelfen!
Ich danke euch im vorraus.
MfG
Ben
ich bin ehemaliger Nutzer von Access und da hatte ich die möglichkeit eine Suchfunktion über eine Abfrage in meine Formulare einzubauen, dies hab ich allerdings bei Base nicht hinbekommen, auch wenn ich meine Access-Datenbanken per Base öffne, wie kann ich das denn nu realisieren?
Beispiel DB:
Adressdatenbank
Spalten:
1. ID
2. Name
3. Vorname
4. Tel
Formular:
Suche:
Suchmaske in der ich nach Name und Vorname suchen kann und er mir die Ergebnisse direkt unter der Maske in Tabelle (Name, Vorname und Tel.) anzeigt, dass muss doch möglich sein, hab nur bisher noch nichts passendes gefunden wäre Toll wenn mir mal jemand eine kleine Beispiel DB erstellen könnte... Würde mir sehr weiterhelfen!
Ich danke euch im vorraus.
MfG
Ben
-
- Beiträge: 6
- Registriert: So, 25.06.2006 14:07
- Wohnort: HH
- Kontaktdaten:
Habe gerade etwas herausgefunden, was euch Pro's vielleicht weiterhilft:
Wenn man bei der erstellung einer Abfrage den Assistenen nutzt gibt er die möglichkeit Suchbedingungen einzufügen! Kann ich da nicht eine Variable eingeben, die im Formular per Text-Box deffiniert wird? So funktionierte das auch bei Access!
Bitte helft mir, ich verzweifle hier
Wenn man bei der erstellung einer Abfrage den Assistenen nutzt gibt er die möglichkeit Suchbedingungen einzufügen! Kann ich da nicht eine Variable eingeben, die im Formular per Text-Box deffiniert wird? So funktionierte das auch bei Access!
Bitte helft mir, ich verzweifle hier

Hey Kritiker,
Gruss
Thomas
Grundsätzlich ja - ob es allerdings auch im Assistenten funktioniert, weis isch nicht. In der Grafischen Abfrage-Ansicht jedenfalls geht es: Variable mit einem Doppelpunkt beginnenKann ich da nicht eine Variable eingeben, die im Formular per Text-Box deffiniert wird?
Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
-
- Beiträge: 6
- Registriert: So, 25.06.2006 14:07
- Wohnort: HH
- Kontaktdaten:
könntest du mir vielleicht einmal einen vollständigen code formulieren?
Wäre echt super und wenn es deine zeit zulässt eine kurze erklärung, wie man eine Textbos mt dieser Variabel "verlinkt"!
Ich danke dir im Vorraus!
Edit:
So, habe das einfach mal in der Entwurfsansicht unter Kriterium ":a" eingegeben, und jetzt fragt er mich auch fleißig nach Parameter "a" beim öffnen der Abfrage bzw. auch bei meinem Formular... nur die Suche ist natürlich mehr als Präzise wenn ich z.B. schulz eingebe findet er nichts wie verhindere ich dass er auf Groß und Kleinschreibung achtet und auch nicht nur das wort was "GENAU" so geschrieben wird sondern auch wo dieses Suchwort drin vorkommt.? Naja, und dann wäre halt noch der Punkt mit der Suchfeldfunktion in einem Formular... Ich habe aber jetzt mttlerweile Hoffnung, dass das Funktionieren könnte
Wenn wir dies Problem noch hinbekommen würden wäre dass mehr als Klasse!!!!
Wäre echt super und wenn es deine zeit zulässt eine kurze erklärung, wie man eine Textbos mt dieser Variabel "verlinkt"!
Ich danke dir im Vorraus!
Edit:
So, habe das einfach mal in der Entwurfsansicht unter Kriterium ":a" eingegeben, und jetzt fragt er mich auch fleißig nach Parameter "a" beim öffnen der Abfrage bzw. auch bei meinem Formular... nur die Suche ist natürlich mehr als Präzise wenn ich z.B. schulz eingebe findet er nichts wie verhindere ich dass er auf Groß und Kleinschreibung achtet und auch nicht nur das wort was "GENAU" so geschrieben wird sondern auch wo dieses Suchwort drin vorkommt.? Naja, und dann wäre halt noch der Punkt mit der Suchfeldfunktion in einem Formular... Ich habe aber jetzt mttlerweile Hoffnung, dass das Funktionieren könnte

Wenn wir dies Problem noch hinbekommen würden wäre dass mehr als Klasse!!!!
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Hallo Kritiker_1982,
mit dieser SQL-Abfrage kannst Du Nachname und Vorname abfagen. Durch die Klausel LOWER müssen die Eingaben in Kleinbuchstaben erfolgen. D. h. in der Datenbank setzt dieser Befehl Vor- und Nachname in Kleinbuchstaben um und vergleicht Sie dann mit der Eingabe.
Code: Alles auswählen
SELECT * FROM "Tabelle1" "Tabelle1" WHERE ( ( LOWER ( "Nachname" ) = :Nachname AND LOWER ( "Vorname" ) = :Vorname ) ) ORDER BY "Vorname" 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
-
- Beiträge: 6
- Registriert: So, 25.06.2006 14:07
- Wohnort: HH
- Kontaktdaten:
So, habe deinen Code entsprechend auf mein Test-Projekt angepasst:
und nun gibt er mir eine leere Tabelle aus!
Ohne Fehlermeldung, ohne alles
Edit:
Sorry, habe das AND in dem Code übersehen
hab daraus ne ODER-Verbindung gemacht nu klappts! Aber jetzt hab ich noch ein kleines Problem, wie bekomme ich das jetzt hin, dass er mir alle raus sucht die einen bestimmten Teil, der Suchanfrage beinhalten (z.B. meier, meyer, Brehmer) sollen gefunden werden, wenn ich "me" in das suchfeld eingebe.
Und dann müsste diese Suchabfrage noch in ein Formular eingebunden werden, so dass die Abfrage nicht per popup erfolgt, sondern in dem Formular mit einem kleinen Suchfeld mit Button.
Wenn ihr für diese zwei Problemchen noch ne Lösung parat hättet, wäre das super....
Ich danke euch.
Code: Alles auswählen
SELECT * FROM "db" "db" WHERE ( ( LOWER ( "Name" ) = :Nachname AND LOWER ( "Vorname" ) = :Vorname ) ) ORDER BY "Vorname" ASC
Ohne Fehlermeldung, ohne alles

Edit:
Sorry, habe das AND in dem Code übersehen

Und dann müsste diese Suchabfrage noch in ein Formular eingebunden werden, so dass die Abfrage nicht per popup erfolgt, sondern in dem Formular mit einem kleinen Suchfeld mit Button.
Wenn ihr für diese zwei Problemchen noch ne Lösung parat hättet, wäre das super....
Ich danke euch.
Hey Kritiker,
In SQL "%" für 0-beliebige Zeichen, "_" für ein beliebiges Zeichen
in Base auch: "*" für 0-beliebige Zeichen, "?" für ein belibiges Zeichen
Dein Fall: soetwas wie
Viele Grüße
Thomas
Haben wir sicher, nur... ich glaube, du solltest dich einmal mit SQL und der OOo API beschäftigen. Das wird nämlich immer komplizierter und erfordert immer mehr WissenWenn ihr für diese zwei Problemchen noch ne Lösung parat hättet, wäre das super....

Indem du statt "=" (der Operator verlangt eine exakte Übereinstimmung) einen Textvergleichsoperator nutzt. In SQL direkt "LIKE" in Base geht auch die Übersetung "WIE", allerdings nicht im direkten SQL-Code. Dazu nutzt du dann die entsprechenden Platzhalter:...wie bekomme ich das jetzt hin, dass er mir alle raus sucht die einen bestimmten Teil, der Suchanfrage beinhalten (z.B. meier, meyer, Brehmer) sollen gefunden werden,...
In SQL "%" für 0-beliebige Zeichen, "_" für ein beliebiges Zeichen
in Base auch: "*" für 0-beliebige Zeichen, "?" für ein belibiges Zeichen
Dein Fall: soetwas wie
Code: Alles auswählen
...WHERE (LOWER("Name") LIKE '%me%') ...
Das geht mit Unterformularen. Die Werte der Hauptformularfelder können als Variable im Unterformualr eingesetzt werden. Die Erläuterung dieses Vorgehens würde aber definitiv diesen Thread "sprengen" und setzt schon einiges an "Wissen" voraus.Und dann müsste diese Suchabfrage noch in ein Formular eingebunden werden, so dass die Abfrage nicht per popup erfolgt, sondern in dem Formular mit einem kleinen Suchfeld mit Button.
Viele Grüße
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
-
- Beiträge: 6
- Registriert: So, 25.06.2006 14:07
- Wohnort: HH
- Kontaktdaten:
Hallo schon mal Danke für die schnelle Hilfe, ich habe jetzt den Code angepasst, sieht nun so aus:
Wenn ich die öffne funktioniert alles wie vorher nur nicht so, das ich auch nach wortteilen suchen kann 
Wenn ich auf bearbeiten der Abfrage gehe, kommt die meldung:
Warum geht das denn jetzt nicht?
Achja, wo bekomme ich den eine leicht verständliche einführung (am besten in Deutsch) für SQL und OOo-API her? Das ich mich da einmal einarbeiten kann!
MfG
Ben
Code: Alles auswählen
SELECT * FROM "db" "db" WHERE ( ( LOWER ( "Name" ) LIKE :Nachname or LOWER ( "Vorname" ) LIKE :Vorname ) ) ORDER BY "Vorname" ASC

Wenn ich auf bearbeiten der Abfrage gehe, kommt die meldung:
ist der Spaltenname nich wie hier Name bzw. Vorname gegeben?Fehler bei der Verbindung mit der Datenquelle!
Vor dem WIE muss ein Spaltenname stehen.
Warum geht das denn jetzt nicht?
Achja, wo bekomme ich den eine leicht verständliche einführung (am besten in Deutsch) für SQL und OOo-API her? Das ich mich da einmal einarbeiten kann!
MfG
Ben
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Hallo Ben,
SQL = z. B. http://de.wikipedia.org/wiki/SQL
StarBasic = http://www.dannenhoefer.de/faqstarbasic/index.html
Für Abfagen verwende ich keinen Assistenten. Ich gebe die SQL-Befehle direkt ein.
Tja, Du musst den Suchbegriff wie von Thomas beschrieben mit % beginnen und enden lassen (%me%).Wenn ich die öffne funktioniert alles wie vorher nur nicht so, das ich auch nach wortteilen suchen kann
Ich weiß zwar nicht welche Spaltennamen (Feldnamen) Du verwendest, aber wenn die Abfrage in dieser Hinsicht bislang korrekt gearbeitet hat, hast Du die Spaltennamen Vorname und Name.ist der Spaltenname nich wie hier Name bzw. Vorname gegeben?
Meinst Du tatsächlich API's oder eher Basic (StarBasic)?Achja, wo bekomme ich den eine leicht verständliche einführung (am besten in Deutsch) für SQL und OOo-API her?
SQL = z. B. http://de.wikipedia.org/wiki/SQL
StarBasic = http://www.dannenhoefer.de/faqstarbasic/index.html
Für Abfagen verwende ich keinen Assistenten. Ich gebe die SQL-Befehle direkt ein.
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
-
- Beiträge: 6
- Registriert: So, 25.06.2006 14:07
- Wohnort: HH
- Kontaktdaten:
achso, ich habe das falsch interpretiert, danke 
Aus deiner FAQ-Seite werde ch irgendwie nicht schlau! Ich weiss nicht wirklich, wie mir das weiterhelfen soll! Wie man mit dem Programm arbeitet weiss ich, wo es jedoch scheitert ist an meinen Programmierkenntnissen, gibt es da nicht auch ne Seite wo man das Schritt für Schritt erklärt bekommt... So nach dem Motto "Hello World"? Bisher habe ich nichts gefunden, was für OpenOffice BASE zugeschnitten ist
vielleicht habt ihr ja einen Insider-Tipp für mich!
Dank meiner schlechten Programmierkenntnisse habe ich nun wieder ein weiteres Problem, und zwar habe ich ein neues Formular erstellt das aus Schaltflächen besteht, wenn ich z.B. auf "Beenden" klicke, soll das Programm/Datenbank geschlossen werden, ich gehe davon aus, dass ich hier ein kleines Makro benötige!
Und wenn ich auf "neuen Eintrag" klicke, soll das Formular <neu> geöffnet werden, ich hoffe, das dies relativ einfach zu erklären ist, wäre super, wenn ihr mir helfen könntet
...

Aus deiner FAQ-Seite werde ch irgendwie nicht schlau! Ich weiss nicht wirklich, wie mir das weiterhelfen soll! Wie man mit dem Programm arbeitet weiss ich, wo es jedoch scheitert ist an meinen Programmierkenntnissen, gibt es da nicht auch ne Seite wo man das Schritt für Schritt erklärt bekommt... So nach dem Motto "Hello World"? Bisher habe ich nichts gefunden, was für OpenOffice BASE zugeschnitten ist

Dank meiner schlechten Programmierkenntnisse habe ich nun wieder ein weiteres Problem, und zwar habe ich ein neues Formular erstellt das aus Schaltflächen besteht, wenn ich z.B. auf "Beenden" klicke, soll das Programm/Datenbank geschlossen werden, ich gehe davon aus, dass ich hier ein kleines Makro benötige!
Und wenn ich auf "neuen Eintrag" klicke, soll das Formular <neu> geöffnet werden, ich hoffe, das dies relativ einfach zu erklären ist, wäre super, wenn ihr mir helfen könntet

Wie steht's denn generell mit Programmieren?Kritiker_1982 hat geschrieben:Wie man mit dem Programm arbeitet weiss ich, wo es jedoch scheitert ist an meinen Programmierkenntnissen, gibt es da nicht auch ne Seite wo man das Schritt für Schritt erklärt bekommt... So nach dem Motto "Hello World"? Bisher habe ich nichts gefunden, was für OpenOffice BASE zugeschnitten istvielleicht habt ihr ja einen Insider-Tipp für mich!
Im obersten Threat des Basic-Forums sind einige nützliche Links, damit kommt man schon recht weit, denke ich.
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Hallo Kritiker_1982,
Wenn ich z. B. auf den Link Bücher: OpenOffice.org 2.0 - Einstieg und Umstieg, Makros für OOo 2.0 von Thomas klicke, erhalte ich dieses http://www.galileocomputing.de/900?GPP=ooo . Den Link kann man eigentlich nicht übersehen.Bisher habe ich nichts gefunden, was für OpenOffice BASE zugeschnitten ist vielleicht habt ihr ja einen Insider-Tipp für mich!
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
Hey,
da füge ich gleich noch ein bischen "Werbung" hinzu:
Mein Base-Buch ist fertig und behandelt auch die Basic-Anbindung von Formularen und Abfragen.
Dort wird ein ähnlicher Fall geschildert - also die Suche per Formular nach einem Begriff und die Anzeige der passenden Daten. Das alles zu posten würde ca. 100 Seiten füllen - zu viel....
Das Buch wird so gegen Ende Juli im Handel sein - schätze ich mal - oder du schaust ebenfalls direkt bei Galileo:
http://www.galileocomputing.de/1176?GPP=ooodev
Viele Grüße
Thomas
da füge ich gleich noch ein bischen "Werbung" hinzu:
Mein Base-Buch ist fertig und behandelt auch die Basic-Anbindung von Formularen und Abfragen.
Dort wird ein ähnlicher Fall geschildert - also die Suche per Formular nach einem Begriff und die Anzeige der passenden Daten. Das alles zu posten würde ca. 100 Seiten füllen - zu viel....
Das Buch wird so gegen Ende Juli im Handel sein - schätze ich mal - oder du schaust ebenfalls direkt bei Galileo:
http://www.galileocomputing.de/1176?GPP=ooodev
Viele Grüße
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic