Im Anwendungsbeispiel Konfiguration eines ODBC-Replikators zur Anbindung einer Access-Datenbank wurde die Anbindung einer einzelnen Tabelle aus einer Access-Datenbank gezeigt. Nun werden weitere Möglichkeiten der erweiterten Datenabfrage gezeigt.
Die Beispiel-Datenbank Demo-Database.mdb muss bereits als Datenquelle eingerichtet sein. Bearbeiten Sie nun die Einstellungen dieser Datenquelle und öffnen die Seite, auf der die Tabelle "Contacts" ausgewählt wurde. Selektieren Sie "SQL Select Anweisung eingeben".
Eine SQL Select-Anweisung dient zur Abfrage von Daten. Mit dieser Anweisung können Datensätze gefiltert werden und Daten aus mehreren Tabellen vereinigt werden. Weitere Dokumentation zu SQL finden Sie im Internet beim jeweiligen Datenbank Hersteller oder in der Microsoft Access® Hilfe. Sie können auch Microsoft Access® zur Erstellung dieser Abfragen verwenden.
Erstellen eines Filters für Datensätze, die verwendet werden sollen
Die Beispiel Datenbank enthält in den Kontakten ein Feld "Title"'. Es sollen nur die Kontakte verwendet werden, die in dem Feld den Wert "Frau" haben. Das SQL Statement dazu lautet:
SELECT * FROM Contacts WHERE Title = 'Frau'
Klicken Sie auf Weiter. In der Feldzuordnung sehen Sie nun nur Datensätze, die im "Title"-Feld den Wert "Frau" haben.
Zusammenführen von Daten aus mehreren Tabellen
Die Beispiel-Datenbank enthält in der "Contacts"-Tabelle keinen Namen der Firma. Es existiert jedoch ein Feld "CompanyID", das einen Verweis zu den Daten der Firma in der Tabelle "Company" herstellt. Die Abfrage wird nun so erweitert, dass das Feld "CompanyName" dem Kontakt zugeordnet wird. Das SQL Statement dazu lautet:
SELECT Contacts.*, Company.CompanyName FROM Contacts LEFT OUTER JOIN Company ON Contacts.CompanyID = Company.CompanyID
Klicken Sie auf Weiter. In der Feldzuordnung steht nun in den Quellfeldern auch das Feld "CompanyName" zur Verfügung.
Doppelte Feldnamen beim Zusammenführen von Daten aus mehreren Tabellen
In der "Company" Tabelle gibt es das Feld "Street", das die Adresse der Firma enthält. In der "Contacts" Tabelle existiert ein gleichnamiges Feld. Um die gleichnamigen Felder unterscheiden zu können, verwendet man die SQL Anweisung "AS", um ein Feld umzubenennen. Das SQL Statement dazu lautet:
SELECT Contacts.*, Company.CompanyName, Company.Street AS CompanyStreet FROM Contacts LEFT OUTER JOIN Company ON Contacts.CompanyID = Company.CompanyID
Klicken Sie auf Weiter. In der Feldzuordnung steht nun in den Quellfeldern auch das Feld "CompanyStreet" zur Verfügung.
Version 6