Microsoft Access Projekte mit SQL Server 2000

Access 2002/2003 im Zusammenspiel mit SQL Server 2000

Microsoft Access Projekte mit SQL Server 2000

Erschienenen bei Microsoft Press Deutschland
ISBN 3-86063-093-8

Microsoft Access ist die erfolgreichste Desktop-Datenbank für Microsoft Windows. Bei großen Datenmengen bzw. im Mehrbenutzerbetrieb stößt Microsoft Access jedoch an seine Grenzen, da es als Desktop-Datenbank konzipiert wurde. Gleichzeitig stellt Microsoft mit dem SQL Server auch einen ausgereiften Datenbankserver für die Verwaltung großer Datenmengen im Mehrbenutzerbetrieb zur Verfügung. Eine im Funktionsumfang eingeschränkte Version des Microsoft SQL Servers – die Microsoft Desktop Engine (MSDE) – wird mit Microsoft Access und den Microsoft Office-Paketen ausgeliefert.

An dieser Stelle setzt dieses Buch an, indem es die Arbeit mit dem Access-Dateityp »Access-Projekt« (ADP) beschreibt. Access-Projekte verbinden die Benutzeroberfläche und die Programmiermöglichkeiten von Microsoft Access mit den Datenbankmanagementfunktionen von SQL Server/MSDE.

Access-Programmierer können mit Access-Projekten die Leistungsmerkmale von Microsoft SQL Server nutzen, um professionelle und skalierbare Client/Server-Anwendungen zu programmieren.

Zitiert aus dem Klappentext des Buchs

ADP in Access 2007

Frage:
In Access 2007 soll ein neues Access-Projekt (ADP) angelegt werden. Doch wo lässt sich beim Anlegen einer neuen Datenbank das ADP-Format angeben?

Lösung:
Über Datei->Neu erscheint der Dialog Leere Datenbank. Mit der dort enthaltenen Schaltfläche muss der Dialog Neue Datenbankdatei geöffnet werden. Hier ist nun der Speicherort der ADP anzugeben und der Dateityp Microsoft Office Access-Projekte (*.adp) auszuwählen. Mit der Schaltfläche Erstellen im Dialog Leere Datenbank wird das Access-Projekt angelegt.

/* übernommen aus der Original sqlfaq.de */

Temporäre Tabellen in ADP

Frage:
In ADP soll eine temporäre Tabelle angelegt werden.

Lösung:
In ADP gibt es keine Tabellen – auch keine temporären!
Hier sind die temporären Tabellen vom SQL Server zu verwenden. SQL Server bietet zwei verschiedene Varianten temporärer Tabellen – lokale (#) und globale (##). Temporäre Tabellen werden mittels CREATE TABLE angelegt. Näheres dazu hier oder in der Onlinehilfe.

/* übernommen aus der Original sqlfaq.de */

Berechtigungen auf Access-Objekte in ADP

Frage:
In Access 2000 ist es über den Menüpunkt Arbeitsgruppenadministrator möglich, Berechtigungen zu Formularen, Berichten, Modulen und Makros für Benutzer und Benutzergruppen zu vergeben. In ADP ist dieser Menüpunkt deaktiviert.

Lösung:
Die Vergabe von Berechtigungen ist in ADP nicht mehr enthalten.
Die Berechtigungen der Benutzer bzw. Benutzergruppen müssen in der SQL Server-Datenbank konfiguriert werden.

/* übernommen aus der Original sqlfaq.de */

Access (ADP) findet Gespeicherte Prozeduren nicht

Frage:
Die Gespeicherten Prozeduren einer SQL Server-Datenbank werden in einer ADP als spname;1 dargestellt.
Beim Öffnen einer solchen Gespeicherten Prozedur erscheint die Meldung Stored Procedure spname;1 nicht gefunden.

Lösung:
Um die
Gespeicherten Prozeduren korrekt anzeigen und auch öffnen zu können, muss das Service-Release 1/1a von Access installiert werden.
Im Knowledgebase-Artikel Q269824 wird das Problem genauer beschrieben.

/* übernommen aus der Original sqlfaq.de */

Access ADP in Citrix-Umgebung

Frage:
Bei Installation einer ADP in einer Citrix-Umgebung kann nur der erste Benutzer das Projekt ohne Fehlermeldung starten.
Jeder weitere Benutzer erhält die Meldung, dass das Projekt bereits geöffnet ist und daher nur schreibgeschützt geöffnet werden kann.

Lösung:
Die Fehlermeldung lässt sich verhindern, indem das ADP mit dem Zusatz /runtime gestartet wird.
Jedoch können durch diesen Zusatz keine Designänderungen mehr an dem Projekt vorgenommen werden.

/* übernommen aus der Original sqlfaq.de */

Access (ADP) – Serverfilter nicht änderbar

Frage:
In Access 2000 wird ein Formular über DoCmd.OpenForm mit einem Serverfilter geöffnet. Beim ersten Aufruf des Formulars schreibt sich dieser Serverfilter fest in die Formulareigenschaften und liefert ab nun immer dasselbe Ergebnis, egal welcher Serverfilter beim Öffnen des Formulars übergeben wird.

Lösung:
Hier hilft nur ein Workaround. Dabei wird der Serverfilter zusätzlich über die OpenArgs des DoCmd.OpenForm an das aufgerufene Formular übergeben.
Im geöffneten Formular muss der so übergebene Serverfilter mit dem Serverfilter in den Formulareigenschaften verglichen werden. Sofern sich die beiden unterscheiden, wird der Serverfilter aus den OpenArgs in die Formulareigenschaft geschrieben.

/* übernommen aus der Original sqlfaq.de */

Clienttools für MSDE

Frage:
Die MSDE stellt keine Administrationstools zur Verfügung. Welche Möglichkeiten zur Administration einer MSDE gibt es?

Lösung:
Im Lieferumfang befindet sich das Kommandozeilentools osql, mit dem SQL-Statements an der MSDE ausgeführt werden können.

Eine Alternative dazu bietet Access im ADP-Format. Dort ist es möglich, Datenbankobjekte anzulegen, zu ändern und zu löschen.
Auch die Berechtigungen der einzelnen Objekte können über Access konfiguriert werden.

Eine weitere Alternative ist der Kauf einer SQL Server-Client-Lizenz. Darin ist der Enterprise Manager, der Query Analyzer und der MS Profiler enthalten.

/* übernommen aus der Original sqlfaq.de */