Sonderzeichen im Filter

444
Thomas Weller

Ich habe eine Access-Datenbank zum Verwalten von Schulungen von Mitarbeitern. Es gibt 2 Fälle, die Probleme verursachen und zum einen habe ich die Lösung noch nicht gefunden.

Fall 1: Der Trainingsname enthält C++

Fall 2: Es handelt sich um ein Gruppentraining. In diesem Fall wird der Mitarbeiter als *für alle bezeichnet

Wenn ich die Datenbank öffne, kann ich einen Filter in den Spaltenüberschriften anwenden, er filtert jedoch nicht korrekt. Ich vermute, dass Sonderzeichen ausgeblendet werden müssen.

Ich habe es versucht:

  • Wählen Sie über die Checkbox einen der Einträge aus
  • Verwenden Sie einen Textfilter, der sais "enthält ..." enthält
  • Verwenden Sie \als Escape-Zeichen
  • Verwenden Sie [... ]als Escape-Zeichen (Vorschlag in einem Forum), gehen Sie möglicherweise zurück zum LIKE-Operator . Dies funktioniert für das *Teil, aber nicht für das C++Teil
  • verwenden C??, aber das passt auch zu Begriffen wieadvanced
  • Erstellen eines Formulars für die Tabelle und Filtern im Formular
  • Einen Haltepunkt hinzufügen und die resultierenden Filter betrachten. Ich sehe, dass das +die Abfrage aufteilt, also habe ich es auch versuchtC[++][++]

Wie kann ich eine Tabelle nach Einträgen filtern, die ein enthalten +?

Ich verwende Access 2016. Bitte beachten Sie, dass das +in den Daten ist, nicht im Tabellennamen oder im Spaltennamen.

1
Öffnen Sie den Tisch nicht. Erstellen und öffnen Sie ein Formular in der Tabellensicht - es verfügt über eine Filtereigenschaft, die die von Ihnen benötigten Werte problemlos akzeptieren kann. Wenn Sie den LIKE-Operator in einem Form.Filter-Wert verwenden, müssen Sie natürlich Sonderzeichen wie in einer Abfrage angeben. Akina vor 5 Jahren 0
@ Akina: Ich habe jetzt ein Formular erstellt, aber es hat das gleiche Problem Thomas Weller vor 5 Jahren 0
Öffnen Sie das Formular im Entwurfsmodus. Öffnen Sie den Code. Erstellen Sie die Methode Form_ApplyFilter und fügen Sie den Stop-Operator hinzu. Wechseln Sie das Formular in den Ansichtsmodus. Wenden Sie den Filter an, den Sie benötigen (mit den Werten, die durch Probleme verursachte Probleme enthalten). Wenn die Ausführung angehalten wird, öffnen Sie die Locals-Fenster und suchen nach dem Me.Filter-Wert, der die benötigten Zeichen enthält und korrekt ist. Akina vor 5 Jahren 0
@ Akina: ok, ich habe diese Methode erstellt und einen Haltepunkt hinzugefügt. Der Wert von `Me.Filter` ist` "* C" + "+ *" `, wenn ich nur` C ++ 'eingebe. Der Filterwert ist "C [" + "] [" + "] *" `, wenn ich` C [+] [+] `eingebe. Es scheint, dass das Pluszeichen immer ein Pluszeichen bleibt, egal was passiert. Thomas Weller vor 5 Jahren 0

0 Antworten auf die Frage