/ / Platzhalterzeichen in Abfragen, die zufällig zwischen Access * und Ansi% - ms-access, ms-access-2007, Wildcard, ansi wechseln

Platzhalterzeichen in Abfragen, die nach dem Zufallsprinzip zwischen Access * und Ansi% - ms-access, ms-access-2007, Wildcard, ansi wechseln

HINTERGRUND:

  • Ich habe eine Access 2007-Anwendung mit einem Formular, das eine Filterzeichenfolge erstellt, die an einen Bericht übergeben wird, der eine gespeicherte Abfrage verwendet.

  • In den Zugriffsoptionen habe ich die Option "SQL Server-kompatible Syntax (ANSI 92)" für diese Datenbank geprüft, und die Filterzeichenfolge enthält eine LIKE-Klausel mit% Platzhalterzeichen.

    PROBLEM:

    Wenn ich die Anwendung zufällig speichere oder öffne (nicht genau die genaue Ursache), wechselt die effektive Wildcard-Syntax von% zu * oder zurück. Ich weiß das, weil meine Abfrage nicht mehr funktioniert.

    WAS ICH "VE VERSUCHT":

  • Ich mache ein Suchen / Ersetzen für die Platzhalterzeichen, es funktioniert eine Zeit lang und dann passiert es wieder von vorne, ohne die Abfrage oder den Filter wesentlich zu ändern.

  • Viele Kompakt / Reparaturen haben keinen Unterschied gemacht.

    Irgendwelche Ideen?

    Antworten:

    1 für die Antwort № 1

    Wenn Sie nur verwenden ANSI-92 Abfragemodus Für die alternativen Platzhalterzeichen (anstelle der erweiterten SQL-DDL- und DCL-SQL-Syntax), die es anbietet, sollten Sie die Verwendung der ALIKE Schlüsselwort anstelle von LIKE Stichwort.

    Der Vorteil ist, dass Sie die Platzhalterzeichen des ANSI-92-Abfragemodus in beiden Abfragemodi verwenden können. Der leichte Nachteil ist, dass die ALIKE ist offiziell nicht unterstützt, was bedeutet, dass sie in einer zukünftigen Version des Motors verschwinden könnte (obwohl ich dies als geringes Risiko bezeichnen würde).