BEISPIEL
BEISPIEL
Kapitel 10: SQL Server
Abbildung 10.14 Ein Anlagefeld nach der Konvertierung
Auch mit der Konvertierung von Rich-Text-Feldern werden Sie nicht glücklich werden, hier taucht dann
der ganz normale HTML-Code im Feld auf (ntext-Datentyp):
Abbildung 10.15 Ein Rich-Text-Feld nach der Konvertierung
Allerdings können Sie zum Beispiel bei Formularen oder Berichten die Textformat-Eigenschaft von Text-
feldern auf Rich-Text anpassen. Dann wird auch der HTML-Code korrekt interpretiert.
Datenbanken verwalten mit DMO
Nachdem wir Ihnen in den vorhergehenden Abschnitten die Zusammenarbeit zwischen der Access-Ober-
fläche und dem SQL Server vorgestellt haben, stellt sich doch die Frage, wie können Sie als VBA-Program-
mierer den Server verwalten bzw. steuern?
Die Lösung findet sich, wie fast nicht anders zu erwarten, in Form einer Library. Seit der Version 6.0 des
MS SQL Servers werden so genannte SQL Distributed Management Objects (kurz SQLDMO) ausgeliefert.
Über diese Objekte ist es Ihnen als Access-Programmierer möglich, den SQL Server aus dem Access-Pro-
gramm heraus zu administrieren.
Um überhaupt mit den Objekten arbeiten zu können, ist es erforderlich, dass Sie die zugehörige Typbiblio-
thek »Microsoft SQLDMO Object Library« einbinden.
Nach diesen Schritten können Sie auf die SQL-DMO-Typenbibliothek zugreifen. Wie schon mehrfach er-
wähnt, bieten sich zwei Möglichkeiten für das Erstellen einer Objektreferenz an:
Entweder Sie verwenden das Schlüsselwort
New
beim Erstellen der Variablen:
Dim SQLServ As New SQLOLE.SQLServer
oder Sie verwenden die Funktion
CreateObject
:
Dim SQLServ As SQLOLE.SQLServer
Set SQLServ = CreateObject ("SQLOLE.SQLServer")
Im Folgenden wird gezeigt, wie Sie sich in einen SQL Server einloggen und wie Sie Informationen über die
vorhandenen Datenbanken mit den enthaltenen Tabellen abfragen und im
Debug
-Fenster ausgeben.
Private Sub TestDMO()
Dim serv As New SQLDMO.SQLServer
Dim db As New SQLDMO.Database
Dim tb As New SQLDMO.Table
serv.LoginSecure = True
620
serv.Connect ".\SQLEXPRESS", "sa", "tom"
Debug.Print "Datenbanken auf " & serv.NetName
Debug.Print "--------------------------------------------"
For Each db In serv.Databases
Debug.Print db.Name
Debug.Print "-------------------------------------"
For Each tb In db.Tables
Debug.Print " Tabelle: " & tb.Name
Next
Debug.Print " "
Next
serv.Disconnect
End Sub
Der Ablauf ist recht einfach zu verstehen: Nach dem Öffnen einer Verbindung (Sie müssen sich gegebenen-
falls mit Name und Passwort anmelden) können wir die Databases-Collection durchlaufen. Zu jeder Daten-
bank auf dem SQL Server findet sich ein entsprechendes Database-Objekt mit seinen Eigenschaften und
last, but not least, auch den enthaltenen Tabellen, die über eine Tables-Collection verwaltet werden.
Abbildung 10.16 Ausschnitt aus dem Debug-Protokoll
Die folgende Abbildung (nur ein kleiner Ausschnitt) lässt erahnen, welche Möglichkeiten sich mit den SQL-
DMOs ergeben.
Abbildung 10.17 Objektmodell SQL-DMO
621
Access 2007 und Microsoft SQL Server

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.