| | Produktinformationen Hilfe und Anleitungen Schulung Vorlagen Support und Feedback Technische Ressourcen Zusätzliche Ressourcen |
Verbessern der Leistung eines Access-Projekts
Abhängig von der Konfiguration Ihres Computers und Ihrer Arbeitsumgebung können Sie verschiedene Einstellungen vornehmen, um die Leistung von Microsoft Access oder Ihres Access-Projekts (Microsoft Access-Projekt: Eine Access-Datei, die mit einer Microsoft SQL Server-Datenbank verbunden ist und verwendet wird, um Client/Server-Anwendungen zu erstellen. Projektdateien enthalten keine Daten oder Objekte auf Datendefinitionsbasis, wie beispielsweise Tabellen oder Ansichten.) zu verbessern. Verbessern der Leistung eines Access-Projekts
Bei einer Client/Server-Anwendung gelten die folgenden Faustregeln, um den Netzwerkverkehr zu reduzieren und die Leistung der Anwendung zu optimieren:
-
Führen Sie die Datenverarbeitung auf dem Server aus.
-
Minimieren Sie die Roundtrips zum Server für den Datenzugriff.
-
Beschränken Sie die vom Server abgerufenen Daten.
Informationen zu OLE DB und der Client/Server-Umgebung
Ein Microsoft Access-Projekt (Microsoft Access-Projekt: Eine Access-Datei, die mit einer Microsoft SQL Server-Datenbank verbunden ist und verwendet wird, um Client/Server-Anwendungen zu erstellen. Projektdateien enthalten keine Daten oder Objekte auf Datendefinitionsbasis, wie beispielsweise Tabellen oder Ansichten.) verwendet OLE DB für die Verbindung und Kommunikation mit einer Microsoft SQL Server-Datenbank. Die OLE DB (OLE DB: Eine Architektur für Komponentendatenbanken, die einen effizienten Netzwerk- und Internetzugriff für unterschiedliche Arten von Datenquellen ermöglicht (z. B. relationale Daten, E-Mail-Dateien, Flatfiles und Kalkulationstabellen).)-Architektur wurde von Microsoft für die effiziente Arbeit in einer Client/Server-Umgebung entworfen.
Wenn Sie über ein Formular oder Datenblatt auf Daten zugreifen, ruft OLE DB ein aktualisierbares Snapshot- (Aktualisierbarer Snapshot: Ein Recordsettyp, der in einer Client/Server-Umgebung effizient arbeitet, indem er Daten auf dem Client zwischenspeichert und die Anzahl der Datenzugriffe und Datenaktualisierungen auf dem Server minimiert.)Recordset (Recordset: Der gemeinsame Name für Recordset-Objekte vom Typ "Tabelle", "Dynaset" und "Snapshot", die aus Gruppen von Datensätzen bestehen und sich wie Objekte verhalten.) von der SQL Server-Datenbank ab (bis zur maximalen Datensatzgrenze (Höchstgrenze für die Anzahl der Datensätze: Um die Systemleistung zu verbessern, können Sie eine Höchstzahl für die Anzahl der Datensätze angeben, die für ein Formular oder Datenblatt eines Access-Projekts aus einer Microsoft SQL Server-Datenbank abgerufen werden.)) und führt eine Zwischenspeicherung der Daten auf dem Client durch - dies stellt einen Zugriff auf Daten auf dem Server dar. Access ruft die Daten asynchron ab, d. h., Sie können weiterhin mit Access arbeiten, während die Daten geladen werden. Wenn Sie mit den Daten im Formular oder Datenblatt arbeiten, z. B. Daten durchsuchen, filtern, sortieren, suchen oder aktualisieren, arbeiten Sie mit den Daten, die auf dem Client zwischengespeichert sind.
Verarbeiten von Daten auf dem Server
Um Daten auf dem Server zu verarbeiten, können Sie gespeicherte Prozeduren, Trigger, benutzerdefinierte Funktionen und SELECT-Anweisungen von SQL verwenden. Außerdem können Daten auf dem Server sortiert werden, bevor sie abgerufen werden.
Gespeicherte Prozeduren sind eine vorkompilierte Auflistung von SQL-Anweisungen und optionalen Ablaufsteuerungsanweisungen, die Parameter akzeptieren und von Microsoft SQL Server als eine Einheit verarbeitet werden. Eine gespeicherte Prozedur wird in der SQL Server-Datenbank abgelegt. Da eine gespeicherte Prozedur beim Erstellen auf dem Server kompiliert wird, wird sie schneller ausgeführt als einzelne SQL-Anweisungen. Da eine gespeicherte Prozedur außerdem auf dem Server ausgeführt wird, nutzt sie die größere Verarbeitungsleistung des Servers.
Bei einem Trigger handelt es sich um eine besondere Art gespeicherter Prozedur, die automatisch ausgeführt wird, sobald Daten aktualisiert, eingefügt oder gelöscht werden. Trigger werden verwendet, um Geschäftsregeln und Beschränkungen anzuwenden, die komplexer sind als die mit CHECK-Einschränkungen (Einschränkung: Eine Beschränkung, die für den Wert gilt, der in eine Spalte oder eine Zeile eingegeben werden kann. Die Werte in der Spalte "Alter" dürfen z. B. nicht kleiner als 0 oder größer als 110 sein.) definierten. Im Gegensatz zu CHECK-Einschränkungen können Trigger auf Spalten in anderen Tabellen verweisen. So kann ein Trigger z. B. einen Rollback von Aktualisierungen durchführen, bei denen ein (in einer Preisnachlasstabelle gespeicherter) Preisnachlass auf (in einer Titeltabelle gespeicherte) Bücher angewendet wurde, deren Preis weniger als 5 € beträgt.
Benutzerdefinierte Funktionen vereinen die besten Features von gespeicherten Prozeduren und Sichten in einer einzigen Abfrage, die Sie schachteln, sortieren, an die Sie Parameter übergeben und mit der Sie Werte zurückgeben können. In vielen Fällen sind benutzerdefinierte Funktionen die bessere Alternative zu gespeicherten Prozeduren, weil Sie eine einzige Tabelle mit Daten oder Skalarwerten zurückgeben, die Geschäftslogik und Einzelheiten zum Erstellen dieser Daten oder Skalarwerte durch den Benutzer ausblenden und die SQL-Anweisungssyntax einfacher gestalten können.
Sortieren Sie Datensätze auf dem Server mit einer gespeicherten Prozedur, einer benutzerdefinierten Funktion oder einer SQL-Anweisung, die in der Datenherkunft-Eigenschaft eines Formulars oder Berichts gespeichert ist (sie ist im Access-Projekt gespeichert, wird aber auf dem Server ausgeführt). Das Sortieren von Datensätzen auf dem Server stellt eine weitere Methode dar, die zusätzliche Verarbeitungsleistung des Servers zu nutzen.
Beschränken der vom Server abgerufenen Daten und Eigenschaftsinformationen
Die Datenmenge, die eine Anwendung von der SQL Server-Datenbank abruft, sollte so weit wie möglich beschränkt werden. Verwenden Sie Sichten (Sicht (Objekt): In einem Access-Projekt ein Abfragetyp, der eine virtuelle Tabelle darstellt, die auf einer SQL SELECT-Anweisung basiert. Eine Sicht kann beispielsweise lediglich drei der verfügbaren zehn Spalten in einer Verknüpfung zwischen zwei Tabellen enthalten, um den Zugriff auf bestimmte Daten einzuschränken.), gespeicherte Prozeduren, benutzerdefinierte Funktionen, Serverfilter und WHERE-Klauseln in SQL-Anweisungen, um die Daten, die Ihnen oder den Benutzern in einem Formular oder Datenblatt angezeigt werden, zu beschränken. Allgemein sollten Anwendungsszenarien vermieden werden, in denen Benutzer uneingeschränkt die Datenbank durchsuchen können.
Sie können die Schaltfläche Maximale Datensatzgrenze (Höchstgrenze für die Anzahl der Datensätze: Um die Systemleistung zu verbessern, können Sie eine Höchstzahl für die Anzahl der Datensätze angeben, die für ein Formular oder Datenblatt eines Access-Projekts aus einer Microsoft SQL Server-Datenbank abgerufen werden.) oder die MaxDatensätze-Eigenschaft verwenden, um die Daten zu beschränken, die Sie oder ein Benutzer in einem Formular oder Datenblatt sehen können.
Darüber hinaus können Sie Serverfilter verwenden, um Datensätze vor dem Abruf aus der Datenbank auf dem Server zu beschränken, sowie Filter, um Datensätze auf dem Client weiter zu beschränken. Ein Serverfilter kann mit der ServerFilter-Eigenschaft eines Formulars oder Berichts definiert werden. Außerdem können Sie die Leistung von Wertlisten in den Fenstern Formularbasierter Serverfilter (Formularbasierter Serverfilter: Ein Verfahren, das eine Version des aktuellen Formulars oder Datenblattes mit leeren Feldern verwendet, in die Sie Werte eingeben können, die die gefilterten Datensätze enthalten sollen. Die Daten werden vom Server gefiltert, bevor sie aus der Datenbank abgerufen werden.) und Formularbasierter Filter (Formularbasierter Filter: Eine Methode zum Filtern von Daten, die eine Version des aktuellen Formulars oder Datenblattes mit leeren Feldern verwendet, in die Sie die Werte eingeben können, die die gefilterten Datensätze enthalten sollen.) optimieren, indem Sie mithilfe der FilterAnwenden-Eigenschaft steuern, wie viele Werte angezeigt werden sollen, wenn die Werte entweder vom Server oder vom Client abgerufen werden.
Die automatische Zeilenkorrektur kann, falls dies nicht erforderlich ist, deaktiviert werden. Nach der Aktualisierung eines Datensatzes in einer SQL Server 2000-Datenbank führt Access normalerweise eine Neusynchronisierung der Daten durch, um die geänderten Werte wiederzugeben. Dafür sind jedoch zusätzliche Roundtrips zum Server erforderlich. Sie können die automatische Zeilenkorrektur deaktivieren, indem Sie die PerformResync-Eigenschaft auf Nein festlegen.
Deaktivieren Sie den vorherigen Abruf von Standardwerten, falls dies nicht erforderlich ist. Wenn Sie ein Formular oder Datenblatt aufrufen, zeigt Access standardmäßig die Standardwerte in der neuen Zeile des Datenblattes und der Formularsteuerelemente für neue Datensätze in Formularen an. Dafür ist ein Roundtrip zum Server erforderlich. Sie können den vorherigen Abruf von Standardwerten deaktivieren, indem Sie die StandardwerteAbrufen-Eigenschaft auf Nein festlegen.
Optimieren der SQL Server-Datenbank
Im Folgenden finden Sie allgemeine Richtlinien für das Optimieren der Leistung von SQL Server-Datenbanken. Nähere Informationen über das Verbessern der Leistung von SQL Server-Datenbanken finden Sie in der Dokumentation zu SQL Server.
- Entwerfen von Tabellen ohne redundante Daten. Eine sorgfältig entworfene Datenbank ist eine Voraussetzung für das schnelle Abrufen und Aktualisieren von Daten.
- Erzwingen Sie referenzielle Integrität (Referenzielle Integrität: Regeln, deren Einhaltung beim Eingeben oder Löschen von Datensätzen überprüft wird, um die definierten Beziehungen zwischen Tabellen beizubehalten.), wodurch die definierten Beziehungen zwischen Tabellen beim Hinzufügen, Aktualisieren oder Löschen von Zeilen in diesen Tabellen erhalten bleiben, indem Sie Primär- und Fremdschlüsseleinschränkungen in den zusammenhängenden Tabellen definieren.
- Wählen Sie den passenden Datentyp für Felder aus. Dies kann in Ihrer Datenbank Speicherplatz sparen und Verknüpfungs (Verknüpfung: Eine Verbindung zwischen einem Feld in einer Tabelle oder Abfrage und einem Feld desselben Datentyps in einer anderen Tabelle oder Abfrage. Durch Verknüpfungen können Programme erkennen, auf welche Weise Daten zueinander in Beziehung stehen. Je nach Art der Verknüpfung können nicht übereinstimmende Datensätze ein- oder ausgeschlossen werden.)operationen verbessern. Wählen Sie beim Definieren eines Feldes den kleinsten Datentyp oder die kleinste Feldgröße, die zu den Daten in dem Feld passt.
- Erstellen Sie Indizes für Felder, die Sie sortieren oder verknüpfen, oder für die Sie Kriterien festlegen. In einer Abfrage (Abfrage: Eine Anfrage nach in Tabellen gespeicherten Daten oder eine Aufforderung, eine Aktion mit den Daten auszuführen. Eine Abfrage kann Daten aus mehreren Tabellen als Datenquelle für ein Formular, einen Bericht oder eine Datenzugriffsseite zusammenführen.) können Sie deutliche Geschwindigkeitsverbesserungen erreichen, indem Sie Felder indexieren, die sich auf den beiden Seiten einer Verknüpfung befinden, und Felder, die für das Festlegen von Kriterien für die Abfrage verwendet werden. Indizes können jedoch die Geschwindigkeit beim Einfügen, Aktualisieren und Löschen von Datensätzen verringern.
- Verwenden Sie indizierte Sichten in SQL Server 2000-Datenbanken. Indizierte Sichten können die Leistung von Sichten in einem Datawarehouse oder in sonstigen Anwendungen für die Entscheidungsunterstützung, bei denen große Datenmengen zu Summen und Mittelwerten zusammengefasst werden, wesentlich verbessern. Eine indizierte Sicht erzwingt, dass die Ergebnisse einer Sicht in der Datenbank gespeichert werden, weshalb Anweisungen, die auf die Sicht verweisen, deutlich bessere Antwortzeiten aufweisen. Bei der Verwendung von indizierten Sichten sollten Sie beachten, dass Änderungen an den Basisdaten automatisch in der Sicht wiedergegeben werden, was einen zusätzlichen Wartungsaufwand verursachen kann.
- Fügen Sie Ihren Tabellen ein Timestamp-Feld hinzu, um die Leistung beim Löschen und Aktualisieren von Datensätzen zu erhöhen. Dies empfiehlt sich besonders dann, wenn die Tabelle viele Felder enthält. SQL Server verwendet ein Timestamp-Feld, um anzuzeigen, dass ein Datensatz geändert wurde (aber nicht wann er geändert wurde), indem es ein Feld mit eindeutigem Wert erstellt und dieses Feld immer dann aktualisiert, wenn ein Datensatz aktualisiert wird. SQL Server verwendet den Wert in Timestamp-Feldern, um vor der Aktualisierung eines Datensatzes festzustellen, ob dieser geändert worden ist. Im Allgemeinen bietet ein Timestamp-Feld die höchste Leistung und Zuverlässigkeit, besonders in einer Umgebung mit mehreren Benutzern. Ohne ein Timestamp-Feld muss SQL Server alle Felder in dem Datensatz überprüfen, um festzustellen, ob der Datensatz geändert wurde. Diese Überprüfung kann die Leistung herabsetzen.
- Komprimieren Sie in regelmäßigen Abständen Ihre SQL Server-Datenbank, um Speicherplatz einzusparen, und reorganisieren Sie für einen schnelleren Zugriff die Indizes und Daten.
Optimieren verknüpfter Tabellen, die im Tabellenverknüpfungsassistent erstellt wurden
Wenn sich die SQL Server-Datenbank, zu der Sie eine Verknüpfung erstellen, auf einem anderen Computer mit SQL Server befindet, erstellen Sie einen Verbindungsserver (wählen Sie auf der ersten Seite des Tabellenverknüpfungsassistenten Verbindungsserver aus). SQL Server optimiert in der Regel Verknüpfungsoperationen.
Erstellen Sie eine OLE DB-Datenquelle, die Transact-SQL-Funktionen verwendet (wählen Sie auf der ersten Seite des Tabellenverknüpfungsassistenten Transact SQL aus), falls Sie eine Verknüpfung zu Microsoft Excel, Text- oder HTML-Dateien herstellen, weil die Leistung im Vergleich zum Erstellen eines Verbindungsservers im Allgemeinen besser ist.
Optimieren von Formularen
Wenn Sie ein Formular entwerfen, sollten Sie die benötigten Daten und Funktionen feststellen. Diese Daten und Funktionen sollten jedoch erst dann vom Server abgefragt werden, wenn der Benutzer diese Informationen anfordert. Erstellen Sie beispielsweise ein Formular so, dass beim Öffnen des Formulars keine Daten vom Server abgerufen werden müssen. Sie können z. B. dem Formular eine Befehlsschaltfläche (Befehlsschaltfläche: Ein Steuerelement, das ein Makro ausführt, eine Visual Basic-Funktion aufruft oder eine Ereignisprozedur ausführt. In anderen Anwendungen wird dies manchmal auch nur Schaltfläche genannt.) hinzufügen, um Daten in das Formular zu laden.
Verwenden Sie die SQL-Anweisungen UPDATE und DELETE mit der passenden WHERE-Klausel, um mehrere Datensätze zu aktualisieren oder zu löschen, die die gleichen Kriterien erfüllen. Dies ist effizienter als eine Datensatzgruppe (Recordset: Der gemeinsame Name für Recordset-Objekte vom Typ "Tabelle", "Dynaset" und "Snapshot", die aus Gruppen von Datensätzen bestehen und sich wie Objekte verhalten.) zu öffnen und die Datensätze einen nach dem anderen zu aktualisieren oder zu löschen.
Lassen Sie Felder, die zum Abrufen der Daten vom Server viel Zeit benötigen, wie z. B. Text (Text-Datentyp: Ein Felddatentyp in einer Microsoft Access-Datenbank.Textfelder enthalten die Anzahl an Zeichen, die durch die Eigenschaft "Feldgröße" festgelegt ist; maximal erlaubt sind 255 Zeichen.)- und Bild (image-Datentyp: In einem Access-Projekt ein Datentyp mit variabler Länge, der maximal 2^31 - 1 [2.147.483.647] Byte an binären Daten enthalten kann. Er wird verwendet, um BLOBs [Binary Large Objects] wie Bilder, Dokumente, Klänge und kompilierten Code zu speichern.)felder, nur auf Anfrage anzeigen. Dies kann auf die folgenden Arten erreicht werden:
- Platzieren Sie Text- und Bildfelder auf einem Unterformular, das die gleiche Datenquelle (Datenherkunft: Die zugrunde liegende Quelle der Daten für ein Formular, einen Bericht oder eine Datenzugriffsseite. In einer Access-Datenbank kann es sich hierbei um eine Tabelle, eine Abfrage oder eine SQL-Anweisung handeln. In einem Access-Projekt kann die Datenherkunft eine Tabelle, eine Ansicht, eine SQL-Anweisung oder eine gespeicherte Prozedur sein.) verwendet. Access ruft nur die Text- oder Bildwerte für den aktuellen Datensatz ab.
- Lassen Sie die wichtigsten Felder auf einem Hauptformular anzeigen, und stellen Sie dem Benutzer der Schaltflächenbezeichnung "Weitere Informationen" zur Verfügung, die ein weiteres Formular mit anderen Feldern öffnet. Das zweite Formular sollte auf einer Abfrage (Abfrage: Eine Anfrage nach in Tabellen gespeicherten Daten oder eine Aufforderung, eine Aktion mit den Daten auszuführen. Eine Abfrage kann Daten aus mehreren Tabellen als Datenquelle für ein Formular, einen Bericht oder eine Datenzugriffsseite zusammenführen.) basieren, die als Parameter das Primärschlüsselfeld des Hauptformulars zum Öffnen verwendet.
- Wenn in Ihrer Anwendung viele Daten eingegeben werden sollen, z. B. bei einem Bestellabwicklungssystem, erstellen Sie ein spezielles Formular zum Hinzufügen von Datensätzen, bei dem die DatenEingeben-Eigenschaft auf Ja festgelegt ist. Wenn Sie das Formular öffnen, um neue Daten einzugeben, zeigt Access keine vorhandenen Datensätze an. Dies spart Zeit, da Access nicht alle Datensätze vom Server abrufen muss.
Bei einem Formular, das auf einer gespeicherten Prozedur oder einer benutzerdefinierten Funktion basiert, die eine Parameterabfrage ist, verwenden Sie die Eingabeparameter-Eigenschaft, um die Parameterwerte anzugeben.
Optimieren von Berichten
Statt einen langen Bericht anzuzeigen, sollten Berichte in kleinere Untermengen von Daten aufgeteilt werden. Dies erreichen Sie durch Verwenden von Sichten, gespeicherten Prozeduren, benutzerdefinierten Funktionen und SQL-Anweisungen als Datenquelle (Datenherkunft: Die zugrunde liegende Quelle der Daten für ein Formular, einen Bericht oder eine Datenzugriffsseite. In einer Access-Datenbank kann es sich hierbei um eine Tabelle, eine Abfrage oder eine SQL-Anweisung handeln. In einem Access-Projekt kann die Datenherkunft eine Tabelle, eine Ansicht, eine SQL-Anweisung oder eine gespeicherte Prozedur sein.) oder mithilfe von Filtern.
Verwenden Sie die Layoutvorschau statt der Seitenansicht, wenn Sie einen Bericht entwerfen. So können Sie schnell das Layout überprüfen. Dieses enthält in der Layoutvorschau nur ein Muster der Daten. Wenn Sie die Arbeiten am Layout des Berichts beendet haben, öffnen Sie den Bericht in der Seitenansicht, um die Daten zu überprüfen.
Typischerweise erstellen und verbreiten Sie Berichte nach einem Zeitplan gemäß regelmäßiger Geschäftsabläufe wie z. B. wöchentliche Aktienkurs-Erinnerungen, monatliche Verkaufsberichte oder Finanzberichte einmal pro Quartal. Erstellen und verbreiten Sie diese Berichte als Snapshot-Dateien für Berichte (Snapshot-Datei für Bericht: Eine Datei (mit der Erweiterung SNP), die zu jeder Seite eines Access-Berichts eine originalgetreue Kopie enthält. Für jede Kopie werden das zweidimensionale Layout sowie die Grafiken und anderen eingebetteten Objekte des Berichts beibehalten.) in einer Batchdatei. Benutzer können den Snapshot Viewer (Snapshot Viewer: Ein Programm, mit dem Sie einen Snapshot, z. B. eine Snapshot-Datei für Berichte, anzeigen, drucken oder als E-Mail-Nachricht senden können. Snapshot Viewer 11.0 besteht aus einem eigenständigen ausführbaren Programm, einem Snapshot Viewer-Steuerelement (Snapview.ocx) und anderen zugehörigen Dateien.) zum Anzeigen und Ausdrucken der Berichte verwenden. Wenn Ihre Benutzer ganz aktuelle Berichte benötigen, verwenden Sie gruppierte Datenzugriffsseiten.
W enn ein Bericht auf einer gespeicherten Prozedur oder einer benutzerdefinierten Funktion basiert, die eine Parameterabfrage ist, verwenden Sie die Eingabeparameter-Eigenschaft, um die Parameterwerte anzugeben.
Verbessern der Leistung von Microsoft Access und Ihres Systems
Die folgenden Richtlinien helfen Ihnen, die Leistung von Microsoft Access auf Ihrem Computer zu optimieren:
- Wenn Sie mit Datenbanken arbeiten, die nicht mit anderen Benutzern gemeinsam verwendet werden, installieren Sie Microsoft Access und alle Ihre Datenbanken auf Ihrer Festplatte anstatt auf einem Netzwerk-Server.
- Wenn außer Ihnen kein anderer Benutzer die Datenbank verwendet, können Sie diese zur exklusiven Verwendung öffnen. Klicken Sie im Dialogfeld Öffnen auf den Pfeil neben der Schaltfläche Öffnen, und aktivieren Sie Exklusiv öffnen.
- Stellen Sie mehr Speicher zur Verfügung, indem Sie alle nicht benötigten Anwendungen schließen.
- Vergrößern Sie den Arbeitsspeicher (RAM) Ihres Computers. 40 MB Arbeitsspeicher sind die Mindestempfehlung - 32 MB für das Betriebssystem plus 8 MB Arbeitsspeicher für Microsoft Access.
- Verwenden Sie den RAM nicht für eine RAM-Disk.
- Löschen Sie regelmäßig unbenötigte Dateien und leeren Sie ebenfalls regelmäßig Ihren Papierkorb, komprimieren Sie Ihre Datenbanken, und defragmentieren Sie Ihre Festplatte mit dem Microsoft Windows-Defragmentierungsprogramm. Zum Starten des Windows-Defragmentierungsprogramms klicken Sie auf die Schaltfläche Start in Windows, zeigen Sie auf Programme, auf Zubehör, anschließend auf Systemprogramme, und klicken Sie schließlich auf Defragmentierung.
- In den meisten Fällen funktionieren die Standardeinstellungen von Windows für den virtuellen Arbeitsspeicher optimal. In einigen Situationen kann ein Anpassen der Parameter für den virtuellen Arbeitsspeicher die Leistung jedoch verbessern. Wenn Sie alle unbenötigten Dateien bereits gelöscht haben und dennoch über ein Speicherproblem verfügen, ändern Sie die Standardeinstellungen für den virtuellen Arbeitsspeicher in den folgenden Fällen:
- Ihnen steht wenig freier Speicherplatz auf dem Laufwerk, das aktuell für den virtuellen Arbeitsspeicher verwendet wird, zur Verfügung, Sie besitzen aber ein anderes lokales Laufwerk, auf dem genügend Speicherplatz verfügbar ist.
- Ein anderes lokales Laufwerk ist verfügbar, das schneller als das aktuelle Laufwerk ist (es sei denn, dieses Laufwerk wird stark benutzt).
In diesen Fällen erzielen Sie möglicherweise eine bessere Leistung, indem Sie ein anderes Laufwerk für den virtuellen Arbeitsspeicher angeben.
Sie können auch eine bessere Leistung erzielen, indem Sie festlegen, dass der für den virtuellen Arbeitsspeicher verfügbare Festplattenspeicher mindestens 25 MB abzüglich des verfügbaren RAMs beträgt. Wenn Ihr Computer z. B. über 12 MB RAM verfügt, richten Sie mindestens 13 MB virtuellen Arbeitsspeicher ein. Es ist möglicherweise sinnvoll, noch mehr virtuellen Arbeitsspeicher einzurichten, wenn Sie mehrere große Anwendungen ausführen.
Zum Ändern der Windows-Parameter für den virtuellen Arbeitsspeicher doppelklicken Sie in der Windows-Systemsteuerung auf das Symbol System, klicken Sie auf die Registerkarte Leistung, und klicken Sie dann auf Virtueller Arbeitsspeicher und Es gelten benutzerdefinierte Einstellungen für den virtuellen Speicher. Geben Sie anschließend eine andere Festplatte an, oder geben Sie einen Wert in das Feld Minimum ein, der mindestens 25 MB abzüglich des verfügbaren Arbeitsspeichers beträgt.
- Wenn Sie eine Bitmap für ein Hintergrundbild (Vollbildhintergrund) für Ihren Windows-Desktop definiert haben, ersetzen Sie dieses durch einen einfarbigen Hintergrund oder eine Muster-Bitmap, oder lassen Sie den Hintergrund ohne Bitmap.
- Wenn Sie normalerweise einen Bildschirmschoner verwenden, wählen Sie ein leeres Bild als Bildschirmschoner, oder lassen sie ihn ganz weg.
- Entfernen Sie Software zur Festplattenkomprimierung, oder verlegen Sie Ihre Datenbanken auf ein nicht komprimiertes Laufwerk.
- Um optimale Leistung sicherzustellen, sollten Sie Ersatzschriftarten nur dann verwenden, wenn Sie Ersatzschriftartunterstützung zum Anzeigen aller Daten benötigen.
Verbessern der Filterleistung
Wenn es sehr lange dauert, die Listen in Feldern im Fenster Formularbasierter Filter (Formularbasierter Filter: Eine Methode zum Filtern von Daten, die eine Version des aktuellen Formulars oder Datenblattes mit leeren Feldern verwendet, in die Sie die Werte eingeben können, die die gefilterten Datensätze enthalten sollen.) oder im Fenster Formularbasierter Serverfilter (Formularbasierter Serverfilter: Ein Verfahren, das eine Version des aktuellen Formulars oder Datenblattes mit leeren Feldern verwendet, in die Sie Werte eingeben können, die die gefilterten Datensätze enthalten sollen. Die Daten werden vom Server gefiltert, bevor sie aus der Datenbank abgerufen werden.) anzuzeigen, oder wenn die Listen nicht die Werte aus der zugrunde liegenden Tabelle anzeigen, können Sie deren Leistung verbessern. Für beide Fenster können Sie verhindern, dass die Listen die Feldwerte der zugrunde liegenden Tabelle anzeigen, oder Sie können die Datensatzgrenze ändern, die festlegt, ob in der Liste die Werte eines Feldes angezeigt werden.
Optimieren der Leistung des formularbasierten Filters für alle Tabellen, Abfragen und Formulare in der Datenbank oder Optimieren der Leistung des formularbasierten Serverfilters für alle Formulare
Für den Formularbasierten Filter wirken sich diese Einstellungen auf alle Textfeld-Steuerelemente (Steuerelement: Ein Objekt der grafischen Benutzeroberfläche (z. B. ein Textfeld, ein Kontrollkästchen, eine Bildlaufleiste oder eine Befehlsschaltfläche) zur Steuerung des Programms durch den Benutzer. Mithilfe von Steuerelementen können Daten bzw. eine Auswahl angezeigt werden, bestimmte Aktionen ausgeführt sowie die Lesbarkeit der Benutzeroberfläche vereinfacht werden.) aus, deren FilterAnwenden-Eigenschaft auf Datenbankstandard gesetzt ist. Für den Formularbasierten Serverfilter wirken sich diese Einstellungen auf alle Textfeld-Steuerelemente aus, deren FilterAnwenden-Eigenschaft auf Datenbankstandard gesetzt ist.
- Klicken Sie im Menü Extras auf Optionen.
- Klicken Sie auf die Registerkarte Bearbeiten/Suchen, und legen Sie die Standards für formularbasierte Filter gemäß der Leistung fest, die Sie erzielen möchten.
- Wenn das Anzeigen der Wertliste zu lange dauert, können Sie verhindern, dass die Liste die eindeutigen Werte für jedes Feld abruft. Deaktivieren Sie dazu das Kontrollkästchen Datensätzen im lokalen Snapshot, das sich auf das Fenster Formularbasierter Filter auswirkt, und das Kontrollkästchen Datensätzen auf dem Server, das sich auf das Fenster Formularbasierter Serverfilter auswirkt.
- Wenn Listen die Werte aus Feldern nicht anzeigen, prüfen Sie unter Liste anzeigen von Werten in, ob die entsprechenden Felder aktiviert wurden, oder versuchen Sie, den Wert im Feld Keine Listen anzeigen, wenn mehr als diese Anzahl Zeilen gelesen wird zu erhöhen, so dass er größer oder gleich der maximalen Anzahl eindeutiger Werte in einem beliebigen Feld der zugrunde liegenden Tabelle oder einer anderen Datenquelle ist.
Optimieren der Leistung des formularbasierten Filters oder des formularbasierten Serverfilters für ein bestimmtes Formular
Sie können für jedes Textfeld-Steuerelement (Steuerelement: Ein Objekt der grafischen Benutzeroberfläche (z. B. ein Textfeld, ein Kontrollkästchen, eine Bildlaufleiste oder eine Befehlsschaltfläche) zur Steuerung des Programms durch den Benutzer. Mithilfe von Steuerelementen können Daten bzw. eine Auswahl angezeigt werden, bestimmte Aktionen ausgeführt sowie die Lesbarkeit der Benutzeroberfläche vereinfacht werden.) auf einem Formular angeben, ob die im Feld gespeicherten Werte in der Liste im Fenster Formularbasierter Filter oder Formularbasierter Serverfilter angezeigt werden.
- Öffnen Sie ein Formular in der Entwurfsansicht (Entwurfsansicht: Ein Fenster, in dem der Entwurf der folgenden Datenbankobjekte angezeigt wird: Tabellen, Abfragen, Formulare, Berichte, Makros und Datenzugriffsseiten. In der Entwurfsansicht können Sie neue Datenbankobjekte erstellen und den Entwurf vorhandener Objekte ändern.).
- Zeigen Sie das Eigenschaftenfenster für ein beliebiges Textfeld-Steuerelement an.
- Setzen Sie die Eigenschaft im Eigenschaftenfeld FilterAnwenden auf die Einstellung, mit der Sie die gewünschte Leistung erzielen.
- Wenn das Anzeigen der Liste im Fenster Formularbasierter Filter oder Formularbasierter Serverfilter zu lange dauert, legen Sie die FilterAnwenden-Eigenschaft auf Nie oder auf Datenbankstandard fest, und nehmen Sie die entsprechenden Änderungen im Dialogfeld Optionen (Menü Extras) vor.
- Wenn die Liste im Fenster Formularbasierter Filter oder Formularbasierter Serverfilter die in diesem Feld gespeicherten Werte nicht oder nur zum Teil anzeigt, stellen Sie sicher, dass die FilterAnwenden-Eigenschaft nicht auf Nie festgelegt wurde. Wenn die FilterAnwenden-Eigenschaft auf Datenbankstandard oder Immer festgelegt wurde, nehmen Sie die entsprechenden Änderungen im Dialogfeld Optionen (Menü Extras) vor.
Verbessern der Leistung beim Suchen und Ersetzen
Was ist ein Index?
Sie können einen Index verwenden, um schnellen Zugriff auf besondere Informationen in einer Datenbanktabelle zu erhalten. Ein Index ist eine Struktur, die die Werte von einer oder mehreren Spalten in einer Datenbanktabelle ordnet, z. B. die Spalte für den Nachnamen (lname) der Tabelle employee. Wenn Sie einen bestimmten Angestellten nach seinem Nachnamen suchen, erhalten Sie diese Informationen mithilfe des Indexes schneller, als wenn Sie alle Zeilen in der Tabelle durchsuchen müssten.
Der Index bietet Zeiger auf die Datenwerte, die in bestimmten Spalten der Tabelle gespeichert sind, und ordnet dann diese Zeiger nach der von Ihnen festgelegten Sortierreihenfolge. Die Datenbank verwendet den Index genauso, wie Sie einen Index in einem Buch verwenden: Sie durchsucht den Index, um einen bestimmten Wert zu finden, und folgt dann dem Zeiger zu der Zeile, die diesen Wert enthält.
In Datenbankdiagrammen können Sie für eine ausgewählte Tabelle jeden Indextyp auf der Eigenschaftenseite Indizes/Schlüssel erstellen, bearbeiten oder löschen. Ein Index wird in der Datenbank gespeichert, wenn Sie die mit der Datenbank verknüpfte Tabelle oder das Datenbankdiagramm speichern, in dem diese Tabelle angezeigt wird.
Als Faustregel sollten Sie einen Index in einer Tabelle nur erstellen, wenn die Daten in den indizierten Spalten häufig abgefragt werden. Indizes belegen Festplattenspeicher und verzögern das Hinzufügen, Löschen und Aktualisieren von Zeilen. In den meisten Situationen überwiegen die Vorteile der hohen Geschwindigkeit, die Indizes beim Abruf von Daten bieten, jedoch deutlich gegenüber den Nachteilen. Wenn aber in der Anwendung Daten sehr häufig aktualisiert werden oder wenn es Einschränkungen bezüglich des Festplattenspeichers gibt, sollten Sie die Anzahl von Indizes begrenzen.
Bevor Sie einen Index erstellen, müssen Sie bestimmen, welche Spalten verwendet werden sollen und welche Art von Index erstellt werden soll.
Indexspalten
Sie können Indizes basierend auf einer einzelnen Spalte oder auf mehreren Spalten in einer Datenbanktabelle erstellen. Mit mehrspaltigen Indizes können Sie zwischen Zeilen unterscheiden, in denen eine Spalte den gleichen Wert haben kann.
Indizes sind auch nützlich, wenn Sie häufig zwei oder mehrere Spalten gleichzeitig durchsuchen oder sortieren. Wenn Sie häufig Kriterien für die Spalten "Nachname" und "Vorname" in der gleichen Abfrage festlegen, ist es sinnvoll, einen mehrspaltigen Index für diese beiden Spalten zu erstellen.
So bestimmen Sie die Eignung eines Indexes:
- Untersuchen Sie die WHERE- und JOIN-Klauseln der Abfragen. Jede in einer dieser beiden Klauseln enthaltene Spalte ist ein möglicher Kandidat für einen Index.
- Experimentieren Sie mit dem neuen Index, um seinen Einfluss auf die Leistung von ausgeführten Abfragen zu untersuchen.
- Berücksichtigen Sie die Anzahl von Indizes, die Sie bereits in der Tabelle erstellt haben. Es ist ratsam, zu viele Indizes in einer einzigen Tabelle zu vermeiden.
- Analysieren Sie die Definitionen der Indizes, die Sie bereits in der Tabelle erstellt haben. Es ist sinnvoll, das Überlappen von Indizes zu vermeiden, die gemeinsam verwendete Spalten enthalten.
- Untersuchen Sie die Anzahl von eindeutigen Datenwerten in einer Spalte. Vergleichen Sie diese Anzahl mit der Anzahl von Zeilen in der Tabelle. Das Ergebnis ist die Auswählbarkeit dieser Spalte, die Ihnen eine Entscheidungshilfe geben kann, ob eine Spalte ein geeigneter Kandidat für einen Index ist und, wenn ja, welcher Indextyp verwendet werden soll.
Indextypen
Je nach Funktionsumfang der Datenbank können Sie drei Indextypen im Datenbank-Designer erstellen: Eindeutig, Primärschlüssel und Gruppiert.
Tipp Obwohl die Suche nach Informationen mit einem eindeutigen Index einfach ist, empfehlen wir, dafür stattdessen Primärschlüsseleinschränkungen oder eindeutige Einschränkungen zu verwenden, um optimale Suchergebnisse zu erzielen.
Eindeutiger Index
Ein eindeutiger Index ist ein Index, bei dem zwei Zeilen nicht den gleichen Indexwert haben dürfen.
Die meisten Datenbanken hindern Sie daran, eine Tabelle mit einem neu erstellten eindeutigen Index zu speichern, wenn es doppelte Schlüsselwerte in den vorhandenen Daten gibt. Die Datenbank verhindert u. U. auch das Hinzufügen von neuen Daten, die Duplikate von Schlüsselwerten in der Tabelle erstellen würden. Wenn Sie z. B. einen eindeutigen Index für den Nachnamen des Angestellten (lname) in der Tabelle employee erstellen, können zwei Angestellte nicht den gleichen Nachnamen haben.
Primärschlüsselindex
Häufig enthält eine Datenbank eine Spalte oder eine Kombination von Spalten, deren Wert jede Zeile in der Tabelle eindeutig kennzeichnet. Diese Spalte wird als der Primärschlüssel der Tabelle bezeichnet.
Das Definieren eines Primärschlüssels für eine Tabelle in einem Datenbankdiagramm erstellt automatisch einen Primärschlüsselindex, der ein besonderer Typ eines eindeutigen Indexes ist. Dieser Index erfordert, dass jeder Wert im Primärschlüssel eindeutig ist. Außerdem lässt er den schnellen Zugriff auf Daten zu, wenn Sie den Primärschlüsselindex in Abfragen verwenden.
Gruppierter Index
Bei einem gruppierten Index ist die physikalische Reihenfolge der Zeilen in der Tabelle die gleiche wie die logische (indizierte) Reihenfolge der Schlüsselwerte. Eine Tabelle kann nur einen gruppierten Index enthalten.
Wenn ein Index nicht gruppiert ist, stimmt die physikalische Reihenfolge der Zeilen in der Tabelle nicht mit der logischen Reihenfolge der Schlüsselwerte überein. Ein gruppierter Index bietet in der Regel einen schnelleren Zugriff auf Daten als ein nichtgruppierter Index.
Verbessern der Leistung von Formularen und Unterformularen
Es gibt verschiedene Möglichkeiten, Ihre Formulare schneller ausführen zu lassen.
Allgemeine Tipps
- Vermeiden Sie überlappende Steuerelemente.
- Sortieren Sie die Datensätze in einer zugrunde liegenden Abfrage (Abfrage: Eine Anfrage nach in Tabellen gespeicherten Daten oder eine Aufforderung, eine Aktion mit den Daten auszuführen. Eine Abfrage kann Daten aus mehreren Tabellen als Datenquelle für ein Formular, einen Bericht oder eine Datenzugriffsseite zusammenführen.) nur dann, wenn die Sortierreihenfolge von Bedeutung ist, insbesondere in Abfragen, die auf mehreren Tabellen basieren.
- Wenn die zugrunde liegende Datenquelle (Datenherkunft: Die zugrunde liegende Quelle der Daten für ein Formular, einen Bericht oder eine Datenzugriffsseite. In einer Access-Datenbank kann es sich hierbei um eine Tabelle, eine Abfrage oder eine SQL-Anweisung handeln. In einem Access-Projekt kann die Datenherkunft eine Tabelle, eine Ansicht, eine SQL-Anweisung oder eine gespeicherte Prozedur sein.) viele Datensätze umfasst und Sie das Formular hauptsächlich zum Eingeben neuer Datensätze verwenden möchten, legen Sie die DatenEingeben-Eigenschaft des Formulars auf Ja fest, so dass das Formular mit einem leeren Datensatz geöffnet wird. Wenn Sie ein Formular öffnen und dabei alle Datensätze anzeigen, muss Microsoft Access jeden Datensatz lesen, bevor der leere Datensatz am Ende des Recordsets angezeigt werden kann.
- Schließen Sie Formulare, die nicht benötigt werden.
Tipps für Formulare mit Bildern und Objekten
- Verwenden Sie Bitmaps und andere Grafikobjekte sparsam.
- Konvertieren Sie Objektfelder, die Grafiken anzeigen, in Bild-Steuerelemente.
- Verwenden Sie schwarzweiße statt farbiger Bitmaps.
Tipps für Formulare mit Code
Ein Formular ohne Formularmodul (Formularmodul: Ein Modul mit Code für alle Ereignisprozeduren, die von Ereignissen ausgelöst werden, die für ein bestimmtes Formular oder dessen Steuerelemente eintreten können.) wird schneller geladen und benötigt weniger Speicherplatz. Wenn weder das Formular noch die Steuerelemente des Formulars Ereignisprozeduren (Ereignisprozedur: Eine Prozedur, die nach Eintreten eines durch den Benutzer, durch Programmcode oder durch das System ausgelösten Ereignisses automatisch ausgeführt wird.) verwenden, benötigt das Formular kein Formularmodul.
Anmerkungen
-
Wenn Sie sich entschließen, den Code sämtlicher Ereignisprozeduren eines Formulars zu löschen, müssen Sie die Eigenschaft EnthältModul auf Nein einstellen, um das Formularmodul vollständig zu entfernen.
- Sie können in einem Formular, das kein Formularmodul besitzt, weiterhin Code verwenden, indem Sie Funktionen aus einem Standardmodul mithilfe eines Ausdrucks (Ausdruck: Eine beliebige Kombination aus mathematischen oder logischen Operatoren, Konstanten, Funktionen sowie Namen von Feldern, Steuerelementen und Eigenschaften, die einen einzigen Wert ergibt. Mithilfe von Ausdrücken können Berechnungen ausgeführt, Zeichen bearbeitet oder Daten getestet werden.) aufrufen. (Sub-Prozeduren können nicht verwendet werden, da sie nicht über einen Ausdruck aufgerufen werden können.) Definieren Sie hierzu eine Funktion in einem Standardmodul, und rufen Sie die Funktion dann über eine Ereigniseigenschaft (Ereigniseigenschaft: Ein benanntes Attribut eines Steuerelements, Formulars, Berichts, einer Datenzugriffsseite oder eines Abschnitts, mit dem Sie auf ein zugeordnetes Ereignis reagieren können. Sie können eine Prozedur oder ein Makro bei Auftreten eines Ereignisses ausführen, indem Sie die zugehörige Ereigniseigenschaft festlegen.) des Formulars oder Steuerelements auf. Um z. B. mithilfe einer Befehlsschaltfläche eine Funktion aufzurufen, die ein Formular öffnet, fügen Sie einen Ausdruck zur BeimKlicken-Eigenschaft der Befehlsschaltfläche hinzu, z. B. =OpenDataEntry().
Tipps für Unterformulare
- Basieren Sie Unterformulare auf Abfragen anstatt auf Tabellen, und fügen Sie nur absolut notwendige Felder aus der Datenquelle (Datenherkunft: Die zugrunde liegende Quelle der Daten für ein Formular, einen Bericht oder eine Datenzugriffsseite. In einer Access-Datenbank kann es sich hierbei um eine Tabelle, eine Abfrage oder eine SQL-Anweisung handeln. In einem Access-Projekt kann die Datenherkunft eine Tabelle, eine Ansicht, eine SQL-Anweisung oder eine gespeicherte Prozedur sein.) hinzu. Zusätzliche Felder können die Leistung des Unterformulars verringern.
- Indizieren (Index: Ein Feature, das das Suchen und Sortieren in einer Tabelle basierend auf bestimmten Schlüsselwerten beschleunigt und die Eindeutigkeit für die Zeilen in einer Tabelle erzwingen kann. Der Primärschlüssel einer Tabelle wird automatisch indiziert. Einige Felder können aufgrund ihres Datentyps nicht indiziert werden.) Sie alle Felder im Unterformular, die mit dem Hauptformular (Hauptformular: Ein Formular, das ein oder mehrere Unterformulare enthält.) verknüpft sind.
- Indizieren Sie alle Felder des Unterformulars, die für Kriterien verwendet werden.
- Stellen Sie die Eigenschaften BearbeitenZulassen, AnfügenZulassen und LöschenZulassen des Unterformulars auf Nein ein, wenn die Datensätze in dem Unterformular nicht bearbeitet werden, oder stellen Sie die Eigenschaft Datensatzgruppentyp auf Snapshot ein.
Verbessern der Leistung von Listenfeldern und Kombinationsfeldern
Es gibt verschiedene Möglichkeiten, Ihre Listenfelder, Kombinationsfelder und Dropdown-Listenfelder (Dropdown-Listenfeld: Ein Steuerelement in einer Datenzugriffsseite, auf das Sie klicken können, um eine Liste anzuzeigen, aus der Sie einen Wert auswählen können. In Dropdown-Listenfeldern können keine neuen Werte eingegeben werden.) schneller ausführen zu lassen.
- Basieren Sie das Listenfeld, das Kombinationsfeld oder das Dropdown-Listenfeld auf einer gespeicherten Abfrage (Abfrage: Eine Anfrage nach in Tabellen gespeicherten Daten oder eine Aufforderung, eine Aktion mit den Daten auszuführen. Eine Abfrage kann Daten aus mehreren Tabellen als Datenquelle für ein Formular, einen Bericht oder eine Datenzugriffsseite zusammenführen.) anstatt auf einer SQL-Anweisung. Wenn Sie bei einem Formular einen Assistenten verwenden, um ein Listen- oder Kombinationsfeld zu erstellen, legt Microsoft Access die Datensatzherkunft-Eigenschaft des Steuerelements automatisch auf eine SQL-Anweisung fest. Sie ändern die Datensatzherkunft-Eigenschaft in eine gespeicherte Abfrage, indem Sie auf die Generator-Schaltfläche
neben dem Feld der Datensatzherkunft-Eigenschaft klicken. Klicken Sie, während das Abfrage-Generatorfenster geöffnet ist, im Menü Datei auf Speichern, und geben Sie einen Namen für die Abfrage ein. Wenn Sie das Abfrage-Generatorfenster schließen, klicken Sie auf Ja, wenn Microsoft Access Sie fragt, ob Sie die Eigenschaft aktualisieren möchten.
- Basieren Sie das Dropdown-Listenfeld auf einer Gespeicherten Abfrage anstatt auf einer Tabelle. Wenn Sie auf einer Datenzugriffsseite einen Assistenten verwenden, um ein Dropdown-Listenfeld zu erstellen, legt Access automatisch die ListRowSource-Eigenschaft des Steuerelements auf die Tabelle fest, die Sie im Assistenten angegeben haben. Um Zeilen aus einer Abfrage anstatt aus einer Tabelle abzurufen, wählen Sie den Abfragenamen aus dem Einstellungsfeld der ListRowSource-Eigenschaft aus.
- Fügen Sie zu der Abfrage, die im Einstellungsfeld der Datensatzherkunft- oder ListRowSource-Eigenschaft angegeben ist, nur die Felder hinzu, die Sie unbedingt benötigen. Zusätzliche Felder können die Leistung verringern.
- Indizieren (Index: Ein Feature, das das Suchen und Sortieren in einer Tabelle basierend auf bestimmten Schlüsselwerten beschleunigt und die Eindeutigkeit für die Zeilen in einer Tabelle erzwingen kann. Der Primärschlüssel einer Tabelle wird automatisch indiziert. Einige Felder können aufgrund ihres Datentyps nicht indiziert werden.) Sie sowohl das erste Feld des Kombinations- oder Listenfelds oder des Dropdown-Listenfeldes als auch das gebundene Feld (falls diese Felder nicht identisch sind).
- Stellen Sie in Kombinationsfeldern in Formularen die Eigenschaft AutomatischErgänzen auf Nein ein, wenn Sie die automatische Eingabeergänzung nicht benötigen.
- Wenn in einem Formular die Eigenschaft Automatisch ergänzen eines Kombinationsfeldes mit Ja festgelegt ist, sollte das erste angezeigte Feld den Datentyp Text und nicht Zahl enthalten. Um eine Entsprechung in der Liste zu suchen, werden nummerische Werte von Microsoft Access in Text konvertiert. Wenn der Datentyp Text ist, muss Microsoft Access diese Konvertierung nicht durchführen.
- Wenn das gebundene Feld eines Nachschlage-Kombinationsfelds in einem Formular nicht das angezeigte Feld ist, beachten Sie Folgendes:
- Erstellen Sie keine Listenfelder, Kombinationsfelder oder Dropdown-Listenfelder auf der Grundlage von Daten in verknüpften Tabellen (Verknüpfte Tabelle: Eine Tabelle, die in einer Datei außerhalb der geöffneten Datenbank gespeichert ist, auf deren Datensätze Access jedoch zugreifen kann. Sie können Datensätze in einer verknüpften Tabelle hinzufügen, löschen und bearbeiten, jedoch nicht die Tabellenstruktur ändern.), wenn sich diese Daten nicht ändern. Es ist in diesem Fall sinnvoller, diese Daten in die Datenbank zu importieren.
Hinweis Der Abfrage-Generator ist in einer Datenzugriffsseite nicht verfügbar. Assistenten stehen in Einzel-Datenzugriffsseiten oder dann, wenn eine Datenzugriffsseite auf eine andere Datenbank als die gerade geöffnete zeigt, nicht zur Verfügung. In beiden Fällen müssen Sie selbst ein Listenfeld oder ein Dropdown-Listenfeld erstellen.
Verbessern der Leistung von Datenzugriffsseiten
Es gibt mehrere Möglichkeiten, um das Laden von Datenzugriffsseiten in der Datenzugriffsseiten-Ansicht (Datenzugriffsseiten-Ansicht: Ein Access-Fenster, in dem Sie den Inhalt der Datenzugriffsseite durchsuchen können. Die Seiten besitzen in der Datenzugriffsseiten-Ansicht dieselbe Funktionalität wie in Microsoft Internet Explorer 5.0 oder höher.) oder in Microsoft Internet Explorer 5.01 mit Service Pack 2 (SP2) oder höher zu beschleunigen.
Allgemeine Tipps
- Schließen Sie beim Verwenden einer Datenzugriffsseite innerhalb von Microsoft Access alle nicht verwendeten Datenbankobjekte. Wenn Sie eine Datenzugriffsseite in Internet Explorer verwenden, schließen Sie alle Fenster, die nicht verwendet werden.
- Legen Sie auf Datenzugriffsseiten, die zur Dateneingabe verwendet werden, die DataEntry-Eigenschaft der Seite auf True fest, damit die Seite mit einem leeren Datensatz geöffnet wird.
- Indizieren Sie alle Felder, die Sie sortieren oder gruppieren oder auf die Sie einen Filter anwenden möchten.
- Binden Sie eine Datenzugriffsseite an eine XML-Datendatei, so dass die Seite die Daten aus einer Datei erhält, die sich auf dem lokalen Client befindet, anstatt auf den Datenbankserver zugreifen zu müssen.
Steuerelemente
- Vermeiden Sie überlappende Steuerelemente.
- Verwenden Sie gebundene Span-Element-Steuerelemente anstelle von Textfeldern, um nicht aktualisierbare Daten anzuzeigen - z. B., um automatisch nummerierte Werte, aus Ausdrücken gewonnene Werte sowie Hyperlinks anzuzeigen.
Sicherheit Verwenden Sie gebundene Span-Steuerelemente oder Hyperlinksteuerelemente mit Vorsicht. Nicht autorisierte Benutzer können gefährlichen HTML-Text in diese Steuerelemente einfügen. Das Verarbeiten dieses Textes ohne Überprüfung oder Änderung kann zu einem Verlust von persönlichen Informationen oder anderen Daten führen. Um das Rendern des in einem Steuerelement enthaltenen HTML-Textes zu verhindern, können Sie den Inhalt des Steuerelements verschlüsseln.
Bilder und Objekte
- Verwenden Sie Bitmaps und andere Grafikobjekte sparsam. Verwenden Sie schwarzweiße statt farbiger Bitmaps.
Gruppierte Seiten
- Stellen Sie sicher, dass die ExpandedByDefault-Eigenschaft für die höchste Gruppenebene auf False festgelegt ist. Wenn sie für niedrigere Gruppenebenen auf False festgelegt ist, werden nach dem Öffnen der Seite andere Interaktionen beschleunigt.
- Stellen Sie sicher, dass die DataPageSize-Gruppenebeneneigenschaft eher auf einen niedrigen als auf einen hohen Wert oder auf Alle festgelegt ist. Je niedriger die Anzahl, desto schneller werden die Datensätze angezeigt.
- Auf einer Seite, die Datensätze mit einer 1:n-Beziehung enthält, gruppieren Sie Datensätze nach Tabellen anstatt nach einem Feld oder Ausdruck.
- Binden Sie auf einer Seite, die auf Tabellen mit einer 1:n-Beziehung basiert, jeden Abschnitt an eine Tabelle statt an eine Abfrage. In Microsoft Access werden die Datensätze erst aus einer Tabelle abgerufen, wenn sie auf der Seite angezeigt werden sollen. Bei einer Abfrage ruft Access sämtliche Datensätze ab, bevor Datensätze auf der Seite angezeigt werden. Verwenden Sie nur dann eine Abfrage, wenn Sie die auf der Seite verwendete Datenmenge beschränken, Aggregatwerte berechnen oder eine Aufgabe ausführen möchten, die nur in einer Abfrage möglich ist.
Informationen zum Umwandeln Ihres Access-Projekts in eine ADE-Datei zur Leistungsverbesserung
Wenn Ihre ADP-Datei (Microsoft Access-Projekt) (Microsoft Access-Projekt: Eine Access-Datei, die mit einer Microsoft SQL Server-Datenbank verbunden ist und verwendet wird, um Client/Server-Anwendungen zu erstellen. Projektdateien enthalten keine Daten oder Objekte auf Datendefinitionsbasis, wie beispielsweise Tabellen oder Ansichten.) Visual Basic für Applikationen (VBA: Eine Makrosprachenversion von Microsoft Visual Basic zum Programmieren von Microsoft Windows-basierten Anwendungen, die in verschiedenen Microsoft-Programmen enthalten ist.)-Code (VBA) enthält, werden beim Speichern des Access-Projekts als ADE (ADE-Datei: Eine Microsoft Access-Projektdatei [ADP], in der alle Module kompiliert sind und aus der der gesamte bearbeitbare Quellcode entfernt wurde.)-Datei alle Module kompiliert, der gesamte bearbeitungsfähige Quellcode entfernt und das Zielprojekt komprimiert. Der VBA-Code wird weiterhin ausgeführt, kann jedoch nicht angezeigt oder bearbeitet werden.
Die Access-Projektdatei funktioniert weiter wie gewohnt: Sie können weiterhin Daten aktualisieren und Berichte ausführen. Darüber hinaus wird die Größe des Access-Projekts wegen des entfernten Codes verringert, so dass die Speicherverwendung optimiert und die Systemleistung verbessert wird.
Wenn Sie Ihre Access-Projektdatei als ADE-Datei speichern, wird die Ausführung folgender Aktionen verhindert:
- Anzeigen, Ändern oder Erstellen von Formularen, Berichten oder Modulen in der Entwurfsansicht (Entwurfsansicht: Ein Fenster, in dem der Entwurf der folgenden Datenbankobjekte angezeigt wird: Tabellen, Abfragen, Formulare, Berichte, Makros und Datenzugriffsseiten. In der Entwurfsansicht können Sie neue Datenbankobjekte erstellen und den Entwurf vorhandener Objekte ändern.).
- Hinzufügen, Löschen oder Ändern von Verweisen auf Objektbibliotheken (Objektbibliothek: Eine Datei mit Definitionen von Objekten sowie deren Methoden und Eigenschaften. Die Datei, in der eine Objektbibliothek enthalten ist, hat normalerweise die Erweiterung OLB.) oder Datenbanken.
- Ändern von Code, da eine ADE-Datei keinen Quellcode enthält.
- Importieren oder Exportieren von Formularen, Berichten oder Modulen. Tabellen, Datenzugriffsseiten, Sichten, gespeicherte Prozeduren, Datendiagramme und Makros können jedoch aus Nicht-ADE-Datenbanken importiert bzw. in Nicht-ADE-Access-Projekte exportiert werden.
Überlegungen zur Notwendigkeit von Änderungen am Entwurf von Formularen, Berichten oder Modulen
Speichern Sie in jedem Fall eine Kopie der ursprünglichen Access-Projektdatei. Wenn Sie den Entwurf von Formularen, Berichten oder Modulen in einer Access-Projektdatei ändern müssen, die als ADE-Datei gespeichert wurde, müssen Sie das ursprüngliche Access-Projekt ändern und anschließend erneut als ADE-Datei speichern.
In zukünftigen Versionen von Access können Sie Code in einer ADE-Datei nicht öffnen, konvertieren oder ausführen. Die einzige Möglichkeit zum Konvertieren einer ADE-Datei in eine zukünftige Version besteht darin, das ursprüngliche Access-Projekt zu öffnen, aus dem die ADE-Datei erstellt wurde, das Projekt in die zukünftige Access-Version zu konvertieren und die konvertierte Access-Projektdatei anschließend als ADE-Datei zu speichern.
Überlegungen vor dem Speichern der Access-Projektdatei als ADE-Datei
Einige Einschränkungen hindern Sie möglicherweise daran, Ihre Access-Projektdatei als ADE-Datei zu speichern:
- Wenn ein Kennwort definiert ist, müssen Sie über Kennwortzugriff auf den VBA-Code verfügen.
- Wenn Ihr Access-Projekt auf ein anderes Access-Projekt oder ein Add-In verweist, müssen Sie alle Access-Projekte und Add-Ins in der Referenzkette als ADE- oder MDE-Dateien speichern.
Informationen zu Referenzen und ADE-Dateien
Wenn Sie versuchen, eine ADE-Datei aus einer Access-Projektdatei oder einem Add-In zu erstellen, die/das auf ein anderes Access-Projekt oder Add-In verweist, zeigt Access eine Fehlermeldung an, und Sie können den Vorgang nicht beenden. Zum Speichern eines Access-Projekts, das auf ein anderes Access-Projekt verweist, als ADE-Datei müssen Sie alle Projekte in der Verweiskette als ADE- oder MDE-Dateien speichern und dabei mit dem ersten Projekt beginnen, auf das verwiesen wird. Nach dem Speichern des ersten Projekts als ADE- oder MDE-Datei müssen Sie den Verweis im nächsten Projekt so aktualisieren, dass er auf die neue Datei zeigt, bevor Sie dieses Projekt als ADE-Datei speichern usw.
Wenn beispielsweise Projekt1.adpVerweise auf Projekt2.adp enthält und dieses wiederum Verweise auf Projekt3.mda, gehen Sie wie folgt vor:
- Speichern Sie Projekt3.mda als Projekt3.mde.
- Öffnen Sie Projekt 2.adp, und ändern Sie den Verweis so, dass er auf die neue Datei Projekt3.mde zeigt.
- Speichern Sie Projekt2.adp als Projekt2.ade.
- Öffnen Sie Projekt1.adp, und ändern Sie den Verweis so, dass er auf die neue Datei Projekt2.ade zeigt.
- Speichern Sie Projekt1.adp als Projekt1.ade.
Informationen zum Komprimieren eines Access-Projekts
In Microsoft Access erfolgt das Komprimieren und Reparieren einer Access-Datei (Microsoft Access-Datei: Eine Access-Datenbank- oder Access-Projektdatei. Eine Access-Datenbank speichert Datenbankobjekte und Daten in einer MDB-Datei. Projektdateien enthalten keine Daten. Sie werden verwendet, um eine Verbindung mit einer Microsoft SQL Server-Datenbank herzustellen.) innerhalb eines einzigen Vorgangs.
Komprimieren einer Access-Datei
Wenn Sie Daten oder Objekte in einer Access-Datenbank (Microsoft Access-Datenbank: Eine Sammlung von Daten und Objekten [beispielsweise Tabellen, Abfragen oder Formulare], die sich auf ein bestimmtes Thema oder einen bestimmten Zweck beziehen.) löschen, oder wenn Sie Objekte in einem Access-Projekt (Microsoft Access-Projekt: Eine Access-Datei, die mit einer Microsoft SQL Server-Datenbank verbunden ist und verwendet wird, um Client/Server-Anwendungen zu erstellen. Projektdateien enthalten keine Daten oder Objekte auf Datendefinitionsbasis, wie beispielsweise Tabellen oder Ansichten.) löschen, kann dies zur Fragmentierung der Datei und zu einer ineffizienten Speicherplatznutzung führen. Durch das Komprimieren der Access-Datei wird eine Kopie der Datei erstellt und die Art der Speicherung der Datei auf dem Datenträger neu geordnet. Durch die Komprimierung einer Datenbank aus einer früheren Access-Version wird die Datenbank nicht in das Access 2002-2003-Format konvertiert.
Durch die Komprimierung wird die Leistung sowohl von Access-Datenbanken als auch von Access-Projekten optimiert. In einem Access-Projekt wirkt sich die Komprimierung jedoch nicht auf Datenbankobjekte (Datenbankobjekte: Eine Access-Datenbank enthält Objekte wie Tabellen, Abfragen, Formulare, Berichte, Seiten, Makros und Module. Ein Access-Projekt enthält Objekte wie Formulare, Berichte, Seiten, Makros und Module.) wie Tabellen oder Sichten aus, die sich nicht im Access-Projekt selbst, sondern in der Microsoft SQL Server-Datenbank (Microsoft SQL Server-Datenbank: Eine Datenbank in Microsoft SQL Server, die aus Tabellen, Ansichten, Indizes, gespeicherten Prozeduren, Funktionen sowie Triggern besteht.) befinden.
Die Komprimierung wirkt sich nicht auf die automatische Nummerierung in einem Access-Projekt aus. Wenn Sie jedoch in einer Access-Datenbank Datensätze am Ende einer Tabelle gelöscht haben, die über ein AutoWert-Feld (AutoWert-Datentyp: In einer Microsoft Access-Datenbank ein Felddatentyp, der für jeden Datensatz, der zu einer Tabelle hinzugefügt wird, automatisch eine eindeutige Zahl speichert. Dabei können drei Arten von Zahlen generiert werden: aufeinanderfolgende Zahlen, Zufallszahlen und Replikations-IDs.) verfügt, wird durch das Komprimieren der Datenbank der Wert dieses Feldes neu festgelegt. Der AutoWert-Wert des nächsten hinzugefügten Datensatzes ist dann um 1 größer als der AutoWert-Wert des letzten nicht gelöschten Datensatzes in der Tabelle.
Reparieren einer Access-Datei
In den meisten Fällen erkennt Microsoft Access, ob eine Access-Datei beschädigt ist, sobald Sie versuchen, die Datei zu öffnen. In diesem Fall erhalten Sie die Möglichkeit, die Datei sofort zu reparieren. Wenn die aktuelle Access-Datei einen Verweis auf eine andere Access-Datei enthält, die beschädigt ist, versucht Access nicht, die andere Datei zu reparieren. In einigen Fällen ist es möglich, dass Access die Beschädigung einer Datei nicht erkennt. Falls eine Access-Datei ein unvorhersehbares Verhalten aufweist, sollten Sie sie komprimieren und reparieren.
Access kann Folgendes reparieren:
Um Beschädigungen an Access-Dateien zu vermeiden, sollten Sie die folgenden Richtlinien einhalten:
-
Komprimieren und reparieren Sie Access-Dateien in regelmäßigen Abständen. Sie können festlegen, dass Access eine Datei automatisch komprimiert, wenn sie geschlossen wird.
-
Sichern Sie die Access-Dateien regelmäßig.
-
Vermeiden Sie die unsachgemäße Beendigung von Access. So sollten Sie Access z. B. nicht unvermittelt durch Abschalten des Computers beenden.
-
Falls Netzwerkprobleme auftreten, sollten Sie die Verwendung einer freigegebenen Access-Datenbank, die sich auf einem Netzwerkserver befindet, so lange vermeiden, bis die Probleme beseitigt wurden. Falls möglich, sollten Sie die Access-Datenbank auf einen Computer verschieben, der Ihnen den lokalen Zugriff auf die Datenbank ermöglicht.
Reparieren von Dateien, nachdem Access unerwartet beendet wurde
Falls ein schwerwiegendes Problem auftritt und dazu führt, dass Microsoft Access beendet wird, wird Access neu gestartet, eine Kopie der zuvor geöffneten Datei erstellt und diese Datei Dateiname_Backup.mdb oder Dateiname_Backup.adp benannt, wobei Dateiname dem Namen der Originaldatei entspricht. Wenn die Datei Dateiname_Backup.mdb oder Dateiname_Backup.adp bereits vorhanden ist, werden Sie von Access aufgefordert, den Namen der Datei anzugeben. Access versucht daraufhin, die Originaldatei zu komprimieren und zu reparieren.
|