Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: pahiti78 am November 19, 2012, 20:55:06

Titel: StringWerte auswerten
Beitrag von: pahiti78 am November 19, 2012, 20:55:06
Hallo,
ich möchte gern eine Funktion schreiben, welche StringWerte nach bestimmten Wörtern durchsucht und dann in Abhängigkeit einen Kategoriewert liefert. Ich hab mir das folgendermaßen vorgestellt:

public function Kategorie (Buchungstext as string) as string
select case Buchungstext
case is="*umb*"
Kategorie="Umbuchung"
case else
Kategorie="nicht definiert"
end select
end function

Nun kann es ja sein, dass dort im Feld "Buchungstext" das Wort "umb" oder "umb." oder "umbuchung" oder Ähnliches steht. Mit Hilfe der Sternchen wollte ich, dass die Funktion den kompletten String durchsucht und dann trotz unterschiedlicher Schreibweisen den Wert zurückliefert. Haut aber nicht hin. Access gibt lediglich "nicht definiert" zurück.
Über Hilfe wäre ich sehr dankbar.
Titel: Re: StringWerte auswerten
Beitrag von: ebs17 am November 19, 2012, 21:03:57
Platzhalter (*) sollte man in Verbindung mit Like einsetzen (Prüfung auf Gleichheit ist da etwas anderes), sowohl in VBA als auch in SQL, bzw. man setzt konsequent reguläre Ausdrücke (http://www.ms-office-forum.net/forum/showthread.php?t=256917) ein. Diese Like-/Platzhalter-Lösungen sind ja ehrlicherweise Teilmengen von regulären Ausdrücken.

MfGA
ebs
Titel: Re: StringWerte auswerten
Beitrag von: pahiti78 am November 19, 2012, 21:20:53
Ok... Und wie soll ich es formulieren, dass es funktioniert?
Titel: Re: StringWerte auswerten
Beitrag von: ebs17 am November 19, 2012, 21:25:05
Code ist die Umsetzung von konkret formulierten Regeln und Abläufen.
ZitatFunktion ... welche StringWerte nach bestimmten Wörtern durchsucht und dann in Abhängigkeit einen Kategoriewert liefert
Das ist dann nicht konkret.

MfGA
ebs
Titel: Re: StringWerte auswerten
Beitrag von: pahiti78 am November 19, 2012, 21:44:57
Doch bei
case like "*umb*"
Kommt eine Fehlermeldung.
Titel: Re: StringWerte auswerten
Beitrag von: ebs17 am November 19, 2012, 22:03:51
ZitatKommt eine Fehlermeldung.

Das nennt man dann informativ, konkret, umfassend?
Da ich meine Kindergartenstunden für dieses Jahr schon absolviert habe, verbleibe ich mit der Empfehlung: Lesen, Verstehen, passend Reagieren.

MfGA
ebs
Titel: Re: StringWerte auswerten
Beitrag von: pahiti78 am November 19, 2012, 23:48:46
Letzendlich will ich nur dobald das Wort Umb. Oder Umb in der Spalte auftaucht die Funktion den Wert Umbuchung liefert.
Titel: Re: StringWerte auswerten
Beitrag von: ebs17 am November 20, 2012, 00:20:36
If Instr(1, "tralala", "umb") > 0 Then ...

Dabei wird "umb" aber nicht als Wort gewertet, sondern als Zeichenkette, die irgendwo im String vorkommen kann.
Ein Wort würde außerdem begrenzt durch Stringanfang oder -ende, Leerzeichen, Komma, Punkt o.ä.

MfGA
ebs