>> zum CHAT

Suchformular / -funktion

BASE ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit OpenOffice.org zu bearbeiten.
Himpi
Beiträge: 5
Registriert: Di 3. Jul 2012, 06:57

Suchformular / -funktion

Beitragvon Himpi » Do 27. Jun 2013, 17:08

Hallo liebe Gemeinde,

unter Umständen gibt es bereits eine ähnliche Anfrage, aber ich habe leider nur einen unbeantworteten Thread gefunden, der sich mit meinem Problem beschäftigt. Da ich ein Base-Neuling bin, hoffe ich auf den richtigen Tipp :)

Beispiel:

Die Datenbank enthält von mir versendete Paketnummern. Ich möchte jetzt danach suchen, wann ich das Paket mit der Paketnummer "XY" verschickt habe. Wie baue ich das ein?


Sicher total Easy, aber ich kenn mich halt Nüsse aus.

Von daher bereits im Vorfeld vielen Dank und LG
Himpi



F3K Total
Beiträge: 754
Registriert: Mo 1. Aug 2011, 00:03

Re: Suchformular / -funktion

Beitragvon F3K Total » Do 27. Jun 2013, 18:09

Hi,
es gibt die Suchfunktion (Fernglas).
Wenn Du aber ein Eingabefeld ins Formular einbauen willst, gibt es aus meiner Sicht zwei Lösungsmöglichkeiten.
Himpi hat geschrieben:Sicher total Easy
... eher nicht ...
  1. per Makro, welches das Eingabefeld ausliest und den Filter ins Formular schreibt.
  2. mit einer einzeiligen Filtertabelle im Hauptformular, über einen Parameter verknüpft mit dem Such-Unterformular. Meine bevorzugte Variante.
Anbei ein einfaches Beispiel dafür.
  • Das Suchfeld hängt an der Tabelle Filter, die Formulareigenschaften verhindern das Einfügen neuer Zeilen, daher wird der eingegebene Wert immer in Zeile 1 der Filtertabelle geschrieben.
  • Das Unterformular Pakete hat die Abfrage qPakete zum Inhalt.
  • Diese wird über den Parameter q_Paketnummer eingegrenzt.
  • Der Parameter q_Paketnummer wird über die Verknüpfung zum Hauptformular mit dem Inhalt der Spalte F_Paketnummer aus der Tabelle Filter gefüllt.

Es wäre auch möglich ohne Parameterabfrage auszukommen, indem man stattdessen eine Unterabfrage über das Filterfeld einbaute.
Dies hätte den Nachteil, dass man keine Paketdaten eingeben/ändern könnte, da die Abfrage dann nur im direkten SQL-Mode ausgeführt werden würde.


Gibst Du die Paketnummer, oder einen Teil der Nummer ein und drückst suchen, wird gefiltert (gesucht).
Leerst Du das Suchfeld und drückst suchen, werden wieder alle Pakete angezeigt.
Gruß R
Dateianhänge
Paketnummern_filtern.zip
nur entpacken
(10.38 KiB) 425-mal heruntergeladen

Himpi
Beiträge: 5
Registriert: Di 3. Jul 2012, 06:57

Re: Suchformular / -funktion

Beitragvon Himpi » Do 27. Jun 2013, 18:37

Hallo F3K Total,

vielen Dank für die Antwort und die gute Erklärung. Zwar verstehe ich beim ersten mal lesen nur Bahnhof, aber das wird sich schon bald wieder legen :) Ob ich das Suchformular jetzt noch einbaue, weiss ich noch nicht, weil ich jetzt nach deiner Erklärung auch das Fernglas gefunden habe - ich danke Gott für Fielmann :)

Also nochmal herzlichen Dank und LG
Himpi

F3K Total
Beiträge: 754
Registriert: Mo 1. Aug 2011, 00:03

Re: Suchformular / -funktion

Beitragvon F3K Total » Do 27. Jun 2013, 19:00

Hi,
Himpi hat geschrieben:Ob ich das Suchformular jetzt noch einbaue, weiss ich noch nicht ...
Wäre doch schade wenn nicht, die Suche geht damit viel schneller als mit dem Fernglas.
Gruß R

Nivolong
Beiträge: 7
Registriert: Sa 1. Okt 2016, 12:32

Re: Suchformular / -funktion

Beitragvon Nivolong » Mi 4. Jan 2017, 23:42

Hallo F3K Total,
ich bastele gerade die Suchfunktion zusammen. Eigentlich ist auch alles klar, nur funktioniert es bei mir nicht, die Zeichen im Feld einzutragen. Bei der Formulareinstellung kann ich keine Buchstaben/Zeichen eingeben. Die Tastaturzeichen kommen nicht an. Hast du eine Idee, woran das liegt (bin schier am verzweifeln).
Dank im Voraus von Alexander

F3K Total
Beiträge: 754
Registriert: Mo 1. Aug 2011, 00:03

Re: Suchformular / -funktion

Beitragvon F3K Total » Do 5. Jan 2017, 02:40

Moin,
es kann daran liegen, dass du in der Tabelle Filter keinen Datensatz angelegt hast. Schau mal bei meinen Videotutorials, Nr. 5 (siehe meine Signatur).
Gruß R

Nivolong
Beiträge: 7
Registriert: Sa 1. Okt 2016, 12:32

Re: Suchformular / -funktion

Beitragvon Nivolong » Do 5. Jan 2017, 13:56

Okay, ich glaube ich hab den Fehler gefunden:

Die einzeilige Filtertabelle muss - wie im obigen Beispiel ersichtlich - zwei Spalten haben. Eine Spalte für das Eingabefeld, die andere für die ID als Primärschlüssel. Es MUSS eine ID eingetragen sein, ist das nicht der Fall, lässt sich das Eingabefeld nicht beschriften.

Es hat bei mir nicht funktioniert, das Eingabefeld selber mit einem Primärschlüssel zu versehen.

Ganz verstehen tue ich es nicht ...

Nivolong
Beiträge: 7
Registriert: Sa 1. Okt 2016, 12:32

Re: Suchformular / -funktion

Beitragvon Nivolong » Do 5. Jan 2017, 13:59

Vielen Dank für die Hilfe - dein Post ist jetzt gerade erst bei mir erschienen. Ja, das war der Fehler!

Nivolong
Beiträge: 7
Registriert: Sa 1. Okt 2016, 12:32

Re: Suchformular / -funktion

Beitragvon Nivolong » Do 5. Jan 2017, 14:34

Ich bin es dann doch noch ein Mal. Ich habe die beiden Formulare identisch wie im Beispiel angelegt. Funzt leider net ...

1. Problem: Rufe ich nun das Formular auf, so öffnet sich das Fenster für die Parametereingabe - genau das, was ich ja eigentlich mit dem Suchfeld umgehen will.

2. Problem: Das Tabellenfeld, in dem die Daten aufgezeigt werden sollen, zeigt nichts an.

Die Parameterabfrage selbst funktioniert einwandfrei. Die Abfrage sieht so aus:

Code: Alles auswählen

SELECT "tblFahrten&Kurse"."Reiseziel", "tblFahrten&Kurse"."Beginn", "tblFahrten&Kurse"."Ende", "tblFahrten&Kurse"."Jahr", "tblTeilnehmer"."Name", "tblTeilnehmer"."Vorname", "tblTeilnehmer"."Adresse", "tblTeilnehmer"."PLZ", "tblTeilnehmer"."Ort", "tblTeilnehmer"."Schuhgröße", "tblTeilnehmer"."Sohlenlänge", "tblTeilnehmer"."Gewicht", "tblTeilnehmer"."Größe", "tblFahrten&Kurse"."ID" AS "ID_Fahrten", "tblTeilnehmer"."ID" AS "ID_Teilnehmer" FROM { oj "rel_Tn-Fahrt-Preis" LEFT OUTER JOIN "tblFahrten&Kurse" ON "rel_Tn-Fahrt-Preis"."FK_Fahrten" = "tblFahrten&Kurse"."ID" LEFT OUTER JOIN "tblTeilnehmer" ON "rel_Tn-Fahrt-Preis"."FK_Teilnehmer" = "tblTeilnehmer"."ID" } WHERE LOWER ( "tblFahrten&Kurse"."Reiseziel" ) LIKE LOWER ( :qReiseziel || '%' ) ORDER BY "tblTeilnehmer"."Name" ASC


Ich arbeite mich in Base ein, habe leider auch noch keine SQL-Kenntnisse außer dem, was ich gerade bearbeite. Ist hier irgendein Fehler erkennbar?

Einmal mehr mein Dank im Voraus!

F3K Total
Beiträge: 754
Registriert: Mo 1. Aug 2011, 00:03

Re: Suchformular / -funktion

Beitragvon F3K Total » Fr 6. Jan 2017, 21:14

Schau dir das Videotutorial Nr. 5 an (meine Signatur)
Gruß R



Zurück zu „OpenOffice Base“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste