Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Schlagwort-Suche





Frage

Ich habe das Problem, dass ich in einer Tabelle in Memofeldern nach bestimmten Begriffen suchen will. Diese sind durch Leerzeichen oder Komma oder sonstwie getrennt, das weiß ich ja nicht, was der Bearbeiter in das Textfeld als Trennzeichen eingibt. z.B.: Musik machen, Text schreiben, Autofahren; Hulahupp Jetzt soll nach beispielsweise Autofahren gesucht werden. Wie kann ich das mit der String, Mid, Len Funktion bewerkstelligen, das Autofahren gefunden wird und mir dann der DS angezeigt wird, der dem Begriff entspricht (können auch mehrere sein) Danke für Anregungen ...

Antwort 1 von piano

Hallo
Die Funktion "InStr" bringt die Lösung, wobei das Ergebnis die Position des gefundenen Feldes anzeigt, sonst 0.
Eine Abfrage mit den Kriterien

InStr(1;[memofeld];"Autofahren")>0

findet alle gesuchten Datensätze .

Gruß piano

Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.


Antwort 2 von Planet

Hi,
damit komme ich nicht ganz zurecht. Wo muß was eingetragen werden? Und was bedeutet dieser Ausdruck genau?

Antwort 3 von Knubbel

Hallo Planet,

erstelle eine Abfrage mit allen benötigten Datensatzfeldern incl. dem Memo-Feld.

Bei dem Memo-Feld gibst du bei Kriterien ein:
Wie("*"+[Suchtext eingeben]+"*")

Es öffnet sich hierbei zunächst ein Parameterfeld, in das der Suchtext eingegeben werden kann. Es reichen hier auch Textfragmente.

mfg Knubbel


Antwort 4 von piano

Hallo
Die Funktion
InStr(1;[memofeld];"Autofahren")>0
bedeutet:
Ist der Text "Autofahren" in dem Feld "memofeld" vorhanden? ,
wobei ab Position 1 gesucht wird.
Ich gehe davon aus, daß Du die Auswahl in einem Formular auswerten möchtest.
Dazu am einfachsten eine Abfrage als Datenherkunft wählen. In der Enwurfsansicht gibst Du hier in einer leeren Spalte folgene Werte ein:
  • Feld: InStr(1;[memofeld];[Auswahl])
  • Kriterien: > 0

    SQL-Ansicht:
    
    SELECT Tabelle1. ...,  Tabelle1.Memofeld
    FROM Tabelle1
    WHERE (((InStr(1,[memofeld],[Auswahl]))>0));
    


    Diese Abfrage verlangt die Eingabe des Parameters "Auswahl" und hier den Suchbegriff (z.B. "Autofahren") eingeben.

    Es gibt natürlich noch elegantere Methoden, diese ist jedoch eine der einfachsten und relativ leicht zu erklären!
    Gruß piano

    sonst wie @Knubbel


  • Ich möchte kostenlos eine Frage an die Mitglieder stellen:


    Ähnliche Themen:


    Suche in allen vorhandenen Beiträgen: