BEISPIEL
HINWEIS
BEISPIEL
Kapitel 9: Fortgeschrittene Datenbankprogrammierung
Erstellen von Prozeduren und Sichten
Der Begriff »Prozedur« dürfte bei einigen Access-Programmierernr etwas Verwirrung sorgen. Gemeint
sind hier nicht die Code-Module einer Access-Datenbank, sondern »nur« die altbekannten Access-Ab-
fragen (Parameterabfragen). Bei einem SQL Server sieht die Sache da schon etwas anders aus, hier sind die
Stored Procedures auf dem Server gemeint.
Derartige Prozeduren können verschiedene Aufgaben realisieren:
Rückgabe von Datenbankabfragen
Ausführen von Lösch- oder Änderungsabfragen
Erzeugen von Datenbankobjekten (Datenerstellungsabfragen)
Unter Sichten, auch als Views bezeichnet, sind nichts anderes als Abfragen über eine oder auch mehrere
Tabellen zu verstehen, deren Definition in der Datenbank gespeichert wird. Die eigentlichen Daten werden
erst beim Öffnen der Abfrage ermittelt.
Erzeugen einer Sicht:
Dim cat As New ADOX.Catalog
Dim cmd As New ADODB.Command
cat.ActiveConnection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Kunden.accdb;"
cmd.CommandText = "SELECT * FROM kundenstammdaten"
cmd.CommandType = adCmdText
cat.Views.Append "Kunden", cmd
Das Ergebnis ist eine Abfrage in der Access-Datenbank, die zwar vorhanden ist, von Access selbst jedoch nicht
angezeigt wird. Der Grund ist eine strikte Trennung zwischen ADO- und DAO-Datenbankobjekten, ADO stellt wesentlich mehr
Optionen zur Verfügung. Auf die neuen Abfragen können Sie nur aus dem ADO-Code heraus zugreifen.
Erstellen einer Prozedur mit Parameter:
Dim conn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim cat As New ADOX.Catalog
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Kunden.accdb;"
Set cmd.ActiveConnection = conn
cmd.CommandText ="PARAMETERS [name] Text;" & "SELECT * FROM kunden WHERE nachname = [name]"
Set cat.ActiveConnection = conn
cat.Procedures.Append "Kundendaten", cmd
520

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.