Das Geheimnis des Erfolgs Microsoft Access liegt in seiner Fähigkeit , Komplexität zu verstecken, während präsentiert eine einfache Benutzeroberfläche . Leider gibt es Zeiten, in denen diese Komplexität Aufstieg tut, um die Oberfläche und verwirrend treten unverständliche Fehlermeldungen. Wenn dies geschieht , müssen wir einige dieser Komplexität zu verstehen, um das Problem zu lösen . ODBC-Treiber
Im Zentrum der Microsoft Access liegt eine Reihe von Treibern , die mit den Datenbank-Engines über das Open Data Base Connectivity (ODBC) -Schnittstelle. Treiber für Microsoft Access, Excel, SQL Server , Oracle, und einer Vielzahl von Datenbanken und andere Dateitypen enthalten. Diese Treiber übergeben Structured Query Language (SQL) -Anweisungen aus Zugriff auf die Datenbank-Engine , neue Tabellen zu erstellen , die Datenbank abfragen und Aktualisieren von Daten .
Access und ODBC
Seit die meisten Menschen mit Access haben keine Lust, SQL-Anweisungen oder loten ODBC schreiben , bauten die Entwickler, die Zugang entwickelt eine viel einfachere Benutzeroberfläche , wo Tabellen und Abfragen entwickelt mit einfachen Gitter gesehen werden . Um eine Abfrage zu erstellen , wählen Sie einfach einen Tisch oder zwei , ziehen Sie die Spalte-Namen auf die Grid-Ansicht , fügen Sie einige Kriterien , dann klicken Sie auf die Schaltfläche "Ausführen" . Unter der Haube nimmt Access die Grid-Ansicht und wandelt sie in einer SQL-Anweisung , dann gibt diese Anweisung an die Datenbank mit dem ODBC-Treiber. Die Datenbank-Engine wählt dann die entsprechenden Daten und sendet sie zurück in dem Access präsentiert es als Datenblatt oder Formular .
Syntax -Fehler und Fehlende Operatoren
Obwohl Zugang macht einen guten Job Überprüfung Benutzereingaben, es gibt Zeiten, wenn Fehler bei der Datenbank -Engine nicht übergeben bekommen . Die resultierende SQL-Anweisung verstößt gegen die Grammatik oder Syntax von SQL . Die häufigsten Fehler treten auf, wenn eine komplexe Kriterien falsch in dem Abfrage- Ansicht eingegeben . Zum Beispiel , in einer Aussage wie " 5 = oder> 20 oder 3" gibt es keinen Vergleich Indikator ( als Operator bezeichnet ) zwischen dem "oder" und "3". Die korrekte Ausdruck sollte " = 5 oder > 20 oder = 3 ".
andere Ursachen
Access verwendet Abfragen und Vergleiche in einer Reihe von anderen Orten, einschließlich Formulare, Berichte und Tabellen-Design gesehen . Nimm Quellen und Kontrolle Quellen sowie Unterformular und subreport Beziehungen können Kriterien eingebettet haben . Tabelle Design Ansichten haben können Prüfregeln . Zugang in der Regel überprüft diese Kriterien , aber diese Fehler manchmal ihren Weg in SQL-Ausdrücke zu finden.