Microsoft Office Online
Für Mein Office Online (Was ist das?) registrieren | Anmelden

 
 
Microsoft Office Access
Suchen
Suchen
 
 
 
 
Warnung: Sie haben diese Webseite mit einem nicht unterstützten Browser geöffnet. Diese Webseite wird am besten angezeigt, wenn Sie Microsoft Internet Explorer 6.0 oder höher, Firefox 1.5 oder Netscape Navigator 6.0 oder höher verwenden. Hier finden Sie weitere Informationen über unterstützte Browser.

DruckversionDruckversion Lesezeichen und FreigabeFreigabe
Access-Projekte und Datenzugriffsseiten verwenden jetzt die ANSI"SQL-92-Syntax
 

Microsoft Access 2002-Projekte (ADP-Projekte) und Datenzugriffsseiten unterstützen ausschließlich den ANSI SQL-92-Standard. Dies hat Auswirkungen auf die Erstellung von Filterausdrücken und Abfragen in Access-Projekten. Auch Ergebnisdatensätze werden auf Datenzugriffsseiten anders dargestellt. Ältere Versionen von Access haben die ANSI SQL-89-Syntax unterstützt. Weitere Informationen zu den Unterschieden zwischen der ANSI SQL-89- und der ANSI SQL-92-Platzhaltersyntax finden Sie in der Hilfe zu Microsoft Access.

AnzeigenFilter und Abfragen in Access-Projekten

Mithilfe von Access-Projekten wird eine Verbindung zu Microsoft SQL Server- oder Microsoft SQL Server 2000 Desktop Engine- (früher MSDE-)Back-End-Datenbanken hergestellt. Standard Query Language (SQL - Standardabfragesprache) ist eine standardmäßige Interaktions- und Programmiersprache für relationale Datenbanken. Bei der Sprache Transact-SQL handelt es sich um einen nativen SQL-Dialekt, der sowohl von SQL Server als auch von Desktop Engine verwendet wird. Transact-SQL unterstützt ANSI SQL-92, den neuesten SQL-Standard. Bei Access 2002-Projekten, welche Abfragen oder Filterausdrücke anhand von SQL Server-Daten ausführen, muss dies in der ANSI SQL-92-Syntax der Fall sein.

Access-Datenbanken verwenden zum Vergleichen der Abfrage mit den nativen Daten die Microsoft Jet-Datenbankengine. Jet unterstützt den ANSI SQL-89-Standard (im Folgenden: Jet SQL-Syntax). Die Jet SQL-Syntax unterscheidet sich in mehrfacher Hinsicht vom ANSI SQL-92-Standard. So verwendet die Jet SQL-Syntax als Platzhalter für mehrere Zeichen beispielsweise das Sternchen (*), während die ANSI SQL-92-Syntax dafür das Prozentzeichen (%) verwendet.

Beispiel: Jet SQL-Syntax zum Zurückgeben aller Kunden eines Landes, das mit dem Buchstaben U beginnt:

SELECT * FROM Kunden WHERE Land LIKE 'U*'

ANSI SQL-92-Syntax zum Zurückgeben aller Kunden eines Landes, das mit dem Buchstaben U beginnt:

SELECT * FROM Kunden WHERE Land LIKE 'U%'

Auch die Filterausdrücke in Access 2002-Projekten verwenden den ANSI SQL-92-Standard. Wenn Sie Projekte aus älteren Access-Versionen nach Access 2002 verschieben möchten, überprüfen Sie, ob die einzelnen Ausdrücke die gewünschten Ergebnisse liefern.

Wenn ein Makroausdruck, z. B. nach Kundenname = 'B*' gesucht hat, werden nun nicht mehr alle Kunden gefunden, deren Name mit B beginnt, da das Sternchen (*) in ANSI SQL-92 kein Platzhalterzeichen ist. Um dies zu beheben, verändern Sie den Makroausdruck, und legen Sie als Platzhalterzeichen stattdessen das Prozentzeichen (%) fest: Kundenname = 'B%'.

AnzeigenErgebnisdatensätze auf Datenzugriffsseiten

Die Microsoft Jet-Datenbankengine wird für Daten in Access-Datenbanken (MDB-Dateien) verwendet. Die Verknüpfung der Datenzugriffsseiten in Access-Datenbanken mit Jet erfolgt über ActiveX-Datenobjekte (ADO) und den Jet OLEDB-Provider. ADO und OLEDB verwenden immer die ANSI SQL-92-Syntax. Insofern müssen Datenzugriffsseiten ebenfalls die ANSI SQL-92-Syntax verwenden. Dies bedeutet, dass Formulare und Seiten, die mit derselben Abfrage verknüpft sind, unterschiedliche Ergebnisdatensätze zurückgeben können.

Anzeige