Suchabfrage mit Benutzereingabe, Filterabfrage, INPUT-Variab

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Suchabfrage mit Benutzereingabe, Filterabfrage, INPUT-Variab

Re: Suchabfrage mit Benutzereingabe, Filterabfrage, INPUT-Va

von juetho » Do, 10.01.2013 12:05

Damit keine Missverständnisse auftreten:
pmoegenb hat geschrieben:Hinweis:
Der Platzhalter für SQL-Variablen ist das Prozentzeichen (%).
Das Prozentzeichen ist der Platzhalter für variable Werte bei LIKE (Peter meint mit Sicherheit nichts anderes, ich wollte es nur betonen):

Code: Alles auswählen

... WHERE LOWER("Name") LIKE """ & InputFeld.Text & "%"""
Ich hoffe, ich habe mich jetzt mit den vielfachen Anführungszeichen nicht vertan. Sicherer ist deshalb die Variante mit prepareStatement, siehe z.B. Hinweis von DPunch. Er schreibt dort:
Anstatt sich selber mit Datumsformaten rumzuschlagen, überlasst man sowas lieber dem Datenbanktreiber.
Auch die Formatierung mit Anführungszeichen sollte man dem Datenbanktreiber überlassen.

Gruß Jürgen

Re: Suchabfrage mit Benutzereingabe, Filterabfrage, INPUT-Va

von pmoegenb » Do, 10.01.2013 10:52

Hallo Bernd,

schau Dir diese Lösung viewtopic.php?f=8&t=60605 an. Dort findest Du das was Du benötigst.

Hinweis:
Der Platzhalter für SQL-Variablen ist das Prozentzeichen (%).
LOWER wandelt den Feldinhalt bei der Auswertung in Kleinbuchstaben um.

Re: Suchabfrage mit Benutzereingabe, Filterabfrage, INPUT-Va

von NTClient » Do, 10.01.2013 10:17

Sieht so aus, was?

Wie würdet Ihr das angehen? Eingabeaufforderung krieg ich mit BASIC hin. Dann SQL-Befehl generieren, Abfrage ausführen ... Evtl. als Tabellenerstellungsabfrage um die Werte in einer Tabelle zwischen zu speichern?

Ich probier mal was und meld mich wieder, es sei denn es hat noch jemand ne Lösung ...
Bernd!

Re: Suchabfrage mit Benutzereingabe, Filterabfrage, INPUT-Va

von boser » Do, 10.01.2013 09:21

Hallo,

gem. Hilfe von LO ist folgedes :

Code: Alles auswählen

Parameterabfragen mit Platzhaltern (*, _) oder Sonderzeichen (z. B. ?) sind nicht möglich.
Leider :(

[Edit]
Also wird es wohl auf ein Makro hinauslaufen.
[/EDIT]

Suchabfrage mit Benutzereingabe, Filterabfrage, INPUT-Variab

von NTClient » Do, 10.01.2013 08:58

Hallo Jungs (und Mädels),

Ihr kennt alle den BASIC-Befehl INPUT, bei dem der Benutzer aufgefordert wird, den Inhalt für eine Variable einzugeben:

INPUT Name$;

Ich arbeite mit AOO 3.4.1 und dort mit Base und dort mit Abfragen in der Entwurfsansicht.

Für ein Feld namens Mitgliedsnummer mit Feldtyp [INTEGER] habe ich das hinbekommen: Einfach in die Zeile „Kriterium“ reinschreiben:
:Welche_Mitgliedsnummer

Dann öffnet sich beim Ausführen der Abfrage ein kleines Fenster, in dem der Benutzer eine Zahl reinschreiben muss. Danach erscheint eine Ergebnistabelle mit den Mitgliedern der entspr. Mitgliedsnummer.

Soweit so gut:

Das brauche ich jetzt für meine Abfrage mit Feldern vom Feldtyp TEXT [Varchar]. Außerdem soll die Abfrage nach LIKE filtern. Der Benutzer soll also ein Stichwort eingeben, z. B. „be“ und dann soll die Abfrage alle Mitglieder filtern, bei denen in Vorname „be“ enthalten ist, also auch "Bernd". Dabei soll Groß- und Kleischreibung keine Rolle spielen.

Ansatz 1:
WIE '*Be*'
Filtert zwar alle Mitglieder, in denen „Be“ vorkommt aber 1. abhängig von Groß- und Kleinschreibung und 2. muss ich „Be“ in der Abfrage vorgeben und kann nicht eine Benutzereingabe anfordern.

Ansatz 2:
:Welcher_Vorname
Fordert zwar eine Benutzereingabe an, jedoch muss der Benutzer 1. den kompletten Vornamen eingeben und 2. dabei auch noch die Groß- und Kleinschreibung beachten.

Ansatz 3:
WIE :Welcher_Name
Ergebnis wie Ansatz 2.

Einer ne Idee oder brauche ich ein Makro?

Gruß Bernd!

Nach oben