conn.Open
With conn
.Execute ("CREATE TABLE #test5 (nachname VARCHAR(30) NOT NULL Primary KEY)")
.Execute ("INSERT INTO #test5 VALUES ('Mayer')")
End With
conn.Close
Set conn = Nothing
End Sub
Erzeugen und Verwenden von Sichten (Views)
Mit den Sichten, auch als Views bezeichnet, bietet sich dem Access-Programmierer ein Ersatz für die von
Access bekannten Abfragen, mit der Einschränkung, dass eine Sicht immer nur zur Abfrage von Daten ver-
wendet werden kann (keine DDL-Anweisungen). Hintergrund ist in jedem Fall eine SQL-SELECT-Abfrage,
die eine Menge von Datensätzen zurückgibt. Dabei ist es unerheblich, ob die Daten aus einer oder auch
mehreren Tabellen stammen.
Verwenden von Access
In Access steht Ihnen zur Definition der Sicht ein eigener Designer zur Verfügung (Abbildung 10.25). Hier
haben Sie die Wahl zwischen einem grafischen oder SQL-Entwurf. Die Bedienung entspricht im Wesent-
lichen dem QbE-Editor, gleichzeitig wird auch die jeweilige SQL-Anweisung angezeigt.
Abbildung 10.25 View in der Entwurfsansicht
Sichten lassen sich unter bestimmten Umständen genauso wie Abfragen editieren. Sie dürfen in diesem Fall
aber keine Aggregatfunktionen oder abgeleitete Spalten enthalten.
Da Sichten meist dazu verwendet werden, Daten sowohl in Art als auch in Anzahl einzuschränken, ist es
meist sinnvoll, die zugrunde liegende Definition der Abfrage zu verschlüsseln (über Eigenschaften der
Sicht).
637
Praktisches Arbeiten mit dem SQL Server
BEISPIEL
HINWEIS
BEISPIEL
BEISPIEL
Kapitel 10: SQL Server
ORDER BY in Views verwenden
Sie verwenden ORDER BY in einer View und der SQL Server liefert einen Fehler bzw. die Datensätze sind
nach wie vor unsortiert.
Die Ursache: Der SQL Server unterstützt kein ORDER BY in Views.
Ausnahme ist die zusätzliche Verwendung von TOP 100 PERCENT (SQL Server 2000) oder TOP 99999999
(SQL Server 2005).
Workaround in SQL Server 2000
SELECT TOP 100 PERCENT dbo.Products.* FROM dbo.Products ORDER BY ProductName
Abhilfe schafft in jedem Fall eine Stored Procedure, die ein DataSet zurückgibt.
Verwenden von TSQL
Der einfachste Weg, aus einem Programm heraus eine View zu erzeugen, bietet sich mit TSQL an. Haben
Sie die nötigen Zugriffsrechte, genügt ein einziger Befehl, um die View auf dem SQL Server zu erstellen.
Die Syntax:
CREATE VIEW view_name [(column [,...n])] [WITH ENCRYPTION]
AS select_statement
[WITH CHECK OPTION]
Übergeben Sie der Anweisung neben dem View-Namen gegebenenfalls auch die Namen der einzelnen Spal-
ten. Dies ist jedoch nur nötig, wenn es sich um berechnete Spalten oder gleiche Spaltennamen (bei Ver-
knüpfungen) handelt.
Mit dem zusätzlichen Schlüsselwort WITH ENCRYPTION verschlüsseln Sie die View auf dem Server, d.h.,
die View-Definition kann nicht mehr gelesen/geändert werden.
Eine verschlüsselte View
1
CREATE VIEW Sonderaktion WITH ENCRYPTION
AS
SELECT
Artikelname, Einzelpreis * 1.5 AS Aktionspreis
FROM
Artikel
Aus einem Access-Projekt können Sie mit einer Quellcodezeile eine View erstellen:
CurrentProject.Connection.Execute "CREATE VIEW bilanz_2006 WITH ENCRYPTION" & _
"AS SELECT Umsaetze * 1.5 As Umsatz, Bereich FROM umsatzzahlen"
1
Wahrscheinlich soll der Betrug bei den Preisen verschleiert werden.
638

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.