![]() |
||
![]() |
Verwendung der Platzhalter-Zeichen "*" und "?" in Access-AbfragenWir bekommen Teile unserer Kundendaten auf Diskette und importieren sie dann in MS-Access. Spezielle Kunden sind dabei mit einem Stern (*) vor dem Kundennamen markiert. Ich m÷chte mir nun mit einer Abwahlabfrage genau diese Kunden anzeigen lassen. Leider funktioniert der Ausdruck Wie"*" als Kriterium nicht (es werden trotzdem alle Kunden angezeigt). Gibt es eine L÷sung fⁿr dieses Problem? Der Stern (*) ist ein sogenanntes Platzhalter-Zeichen und steht in einem Ausdruck fⁿr eine beliebige Anzahl von Zeichen. Der Ausdruck Wie "*" trifft daher auf jeden Datensatz zu, das hei▀t, die Auswahl wird ⁿberhaupt nicht eingeschrΣnkt. Die L÷sung Ihres Problems erfordert die Verwendung einer Funktion namens InStr, die das erste Vorkommen von beliebigen Zeichenketten innerhalb einer anderen Zeichenkette prⁿft und die entsprechende Position als Ergebnis liefert. Dabei sind keine Platzhalter-Zeichen als Suchbegriff m÷glich, die Funktion sucht nur nach der angegebenen konstanten Zeichenfolge. Die einfachste Syntax fⁿr die InStr-Funktion lautet: InStr (String1;String2), wobei String1 die zu durchsuchende Zeichenkette und String2 der Suchbegriff ist. Falls String2 in String1 enthalten ist, liefert die Funktion die Position des ersten ⁿbereinstimmenden Zeichens zurⁿck, im anderen Fall ist das Ergebnis eine Null. Fⁿr Ihr Problem wΣre String1 das Feld mit den Kundennamen und String2 die nur aus einem Zeichen bestehende Zeichenkette "*". Wenn Sie nun in einer zusΣtzlichen Spalte Ihrer Abfrage die InStr-Funktion entsprechend definieren (etwas Ausdruck1:InStr([Nachname]; "*") und als Kriterium fⁿr diese Spalte ">0" angeben, so erhalten Sie als Ergebnis eine Abfrage, die nur die DatensΣtze anzeigt, die an beliebiger Position im Kundennamen einen Stern enthalten. |
![]() |