Leer Leer
 
Leer
Leer
Leer
Leer
Leer
Leer
Leer
Anzeige
Weiterbildung für alle! Über 200 Fernlehrgänge an Deutschlands größter Fernschule!





Business-Ratgeber für Ihren Erfolg 2012
Jetzt in unserem Shop:

» Jetzt auch mit Gratis-Test-Garantie «

Die aktuelle Meinung aus unserer
Experten-Ecke:

Angelika Rodatus
Angelika Rodatus

Ihre Prioritäten für 2012

Anzeige




 

Anzeige
Spotigiht testen und CD gratis erhalten!

 
Sie befinden sich hier: Startseite > MS Office- & Netzwerk-Know-how > Access: Die wichtigsten Kniffe zum Aufbau Ihrer Abfragen

Access: Die wichtigsten Kniffe zum Aufbau Ihrer Abfragen


Die wichtigsten Kniffe zum Aufbau Ihrer Abfragen
Selbst wenn Sie alle Hinweise zum optimalen Aufbau Ihrer Tabellen beherzigen, gibt es natürlich auch bei der Definition Ihrer Abfragen einiges zu beachten. Ihre Daten dürfen nicht unnötig kompliziert ausgewertet werden, sodass beispielsweise die durch einen schnellen Zugriff gewonnenen Geschwindigkeitsvorteile durch den Einsatz von Funktionen oder Berechnungen wieder verloren gehen.

Access_aktuell hat für Sie im Folgenden einige hilfreiche Tipps und Lösungen zu den häufigsten Fehlern beim Abfrageentwurf zusammengefasst.
  • Nur tatsächlich benötigte Felder auswählen

    In den meisten Abfragen werden einfach alle Felder per Doppelklick auf das Sternchen („*“) in der Feldliste ausgewählt, obwohl davon nur einige wenige benötigt werden.

    Sie beschleunigen Ihre Abfragen jedoch deutlich, wenn Sie nur die Felder selektieren, die später auch tatsächlich im Formular, im Bericht oder in der Auswertung benötigt werden!


  • Sortier- oder Kriterienfelder ausblenden

    Felder, die Sie für die Definition von Kriterien oder zum Sortieren verwenden, müssen nicht immer im Abfrageergebnis enthalten sein. Schalten Sie in diesen Fällen einfach das Kontrollkästchen ANZEIGEN aus.

    Access_aktuell-Beispiel: Aus einer Adressverwaltung möchten Sie eine Telefonliste mit Name, Vorname, Ortsname und Telefonnummer, sortiert nach dem Ortsnamen, ausgeben. Um die Sortierung zu beschleunigen, fügen Sie das Feld „Postleitzahl“ hinzu, lassen danach aufsteigend sortieren und deaktivieren das Kontrollkästchen ANZEIGEN.


  • „Keine Duplikate“ und „Eindeutige Datensätze“ richtig verwenden

    Oftmals enthalten Tabellen doppelte Datensätze, die Sie im Abfrageergebnis ausblenden möchten. Das erreichen Sie, indem Sie in den Abfrageeigenschaften (F4) eine der Eigenschaften KEINE DUPLIKATE und EINDEUTIGE DATENSÄTZE auf JA einstellen.

    Wenig bekannt ist die Tatsache, dass Eindeutige DATENSÄTZE nur bei einer Abfrage mit mehreren verknüpften Tabellen sinnvoll einzusetzen ist, bei einer einzelnen Tabelle jedoch die Ausführung der Abfrage verlangsamt.

    Eigenschaftebblatt

    Achten Sie also darauf, dass bei einer einzelnen Tabelle KEINE DUPLIKATE auf JA und EINDEUTIGE DATENSÄTZE auf EIN und bei mehreren Tabellen KEINE DUPLIKATE auf NEIN und EINDEUTIGE DATENSÄTZE auf JA eingestellt ist!


  • Keine Kriterien bei bestimmten Feldern

    Verwenden Sie keine Kriterien für Felder, die der Verknüpfung von Tabellen dienen.

    Access_aktuell-Beispiel: Sie verwenden bei den Kundennummern einer Adressverwaltung getrennte Nummernkreise von 0 bis 49.999 für private und 50.000 bis 99.999 für geschäftliche Kunden.

    In einer Abfrage verknüpfen Sie die Tabelle mit einer Tabelle für Bestellungen über die Kundennummer und tragen dort als Kriterium z. B. „< 50000“ ein, um nur Bestellungen von Privatkunden herauszufiltern.

    Die Prüfung dieses Kriteriums verlangsamt die Ausführung der Abfrage beträchtlich. Verwenden Sie stattdessen eine Unterabfrage, die zunächst nur die Kunden mit Kundennummern kleiner als 50.000 selektiert, und verwenden Sie diese Unterabfrage in einer Abfrage, in der Sie sie mit den Bestellungen über die Kundennummer verknüpfen.


  • Parameter effektiv nutzen

    Bekanntlich können Sie in Abfragen Parameter verwenden, indem Sie z. B. zur Filterung der Bestellungen eines bestimmten Tages beim Feld BESTELLDATUM ein Kriterium „=[Bestellung von Datum]“ eingeben.

    Vor der Ausführung der Abfrage zeigt Access dann den Dialog PARAMETERWERTE EINGEBEN an, in dem Sie das gewünschte Datum eintippen. In diesem Fall muss Access bei jedem Vergleich Ihre Eingabe in das Format DATUM/ZEIT konvertieren, um es mit dem Feld BESTELLDATUM vergleichen zu können.
    Abfrageparameter Es ist jedoch möglich, über das Menü ABFRAGE-PARAMETER (bis Access 2003) bzw. über das Register ABFRAGETOOLS/ENTWURF, Bereich EIN-/AUSBLENDEN, Symbol PARAMETER (Access 2007), für jeden Parameter explizit einen Datentyp anzugeben.

    Das führt dazu, dass nur datentypkonforme Eingaben als Parameter akzeptiert und so Fehlermeldungen vermieden werden. Außerdem muss Access nicht bei jeder Prüfung des Kriteriums beispielsweise von TEXT in DATUM/ZEIT oder JA/NEIN umrechnen.


  • SQL-Anweisungen als Abfrage speichern

    Oftmals wird im Abfrageentwurf über das Menü ANSICHT>SQL (bis Access 2003) bzw. über das Register ABFRAGETOOLS/ENTWURF, Bereich ERGEBNISSE, Dropdown-Menü ANSICHT > SQL (Access 2007) der SQL-Editor eingeschaltet, die Abfrage direkt in SQL formuliert und in diesem Modus gespeichert.

    Für die Ausführung muss Access dann die SQL-Anweisung wieder in die interne Abfragendarstellung umsetzen. Gewöhnen Sie sich deshalb an, über ANSICHT wieder in den normalen Abfrageentwurf zurückzuschalten, bevor die Abfrage gespeichert wird!


  • Gruppierung und Sortierung effektiv nutzen

    In Berichten wird oftmals nach verschiedenen Kriterien gruppiert und sortiert. Es ist aber nicht notwendig, dass bereits die Abfrage diese Gruppierungen und Sortierungen liefert! Im Berichtsentwurf gibt es eine Funktion SORTIEREN und GRUPPIEREN, die diese Aufgabe weitaus effektiver ausführt.

    Gestalten Sie die Abfrage so, dass sie einfach nur die gewünschten Datensätze liefert, und legen Sie die Gruppierung und Sortierung im Bericht per Klick auf das Menü ANSICHT > SORTIEREN UND GRUPPIEREN oder das gleichnamige Symbol in der Symbolleiste BERICHTSENTWURF (bis Access 2003) bzw. über das Register ABFRAGETOOLS/ENTWURF, Bereich EIN-/AUSBLENDEN, Symbol SUMMEN (Access 2007) fest!

    Access


  • Keine Kriterien für berechnete Felder

    Verwenden Sie keine Kriterien für berechnete Felder. Wenn Sie zum Beispiel in der Abfrage von Bestelldaten ein Feld per Ausdruck „Gesamt: [Anzahl]*[Einzelpreis]“ definieren und dafür ein Kriterium „> 10000“ eingeben, um Bestellungen mit einem Wert größer als 10.000 herauszufiltern, verlangsamt das die Ausführung der Abfrage erheblich!

    Entweder lassen Sie diese Berechnungen direkt im Formular für die Bestellannahme berechnen und speichern die Ergebnisse in einem Feld „Gesamt“, oder Sie verwenden eine Unterabfrage, die die Berechnungen ausführt.


  • Vermeiden Sie Domänenfunktionen

    Vermeiden Sie den Einsatz von Domänenfunktionen wie „DLookUp()“, „DSum()“ oder „DCount()“ in Abfragen, da deren Ausführung extrem langsam vonstattengeht! Verwenden Sie stattdessen Unterabfragen, die die gewünschten Informationen liefern und entsprechend verknüpft werden.


  • Nutzen Sie temporäre Tabellen anstelle von Abfragen

    Oftmals ist es sinnvoller, eine komplexe Abfrage nicht direkt einem Formular oder Bericht zugrunde zu legen, sondern die Abfrageergebnisse per Tabellenerstellungsabfrage in eine temporäre Tabelle zu speichern und diese Tabelle dann dem betreffenden Formular oder Bericht zugrunde zu legen.

    Schalten Sie dazu den Abfragetyp über das Menü ABFRAGE > TABELLEN ERSTELLUNGS-ABFRAGE (bis Access 2003) bzw. über das Register ABFRAGETOOLS/ENTWURF, Bereich ABFRAGETYP, Symbol TABELLE ERSTELLEN (Access 2007) um und speichern Sie sie.

    Für den automatisierten Aufruf des Formulars oder Berichtes können Sie ein Makro verwenden, das der Reihe nach die folgenden Aktionen ausführt:

    Warnmeldung „Nein“:
    unterdrückt die Anzeige von Warnmeldungen

    LöschObjekt:
    löscht die vorhandene Tabelle

    ÖffnenAbfrage:
    führt die Tabellenerstellungsabfrage aus

    ÖffnenFormular, ÖffnenBericht:
    öffnet das Formular bzw. den Bericht


  • Vermeiden Sie zeitintensive Berechnungen in Abfragen

    Beim Erstellen von Abfragen werden immer wieder Ausdrücke eingesetzt, die Access- oder benutzerdefinierte VBA-Funktionen aufrufen.

    So sind beispielsweise in Abfragen häufig Konstruktionen wie die folgende zu sehen:

    AktMonat: Monat ([Bestelldatum])


    Das Ergebnis wird dann zum Beispiel in Berichten eingesetzt, um einen Bericht „Bestellübersicht“ nach Monaten zu gruppieren. Diese Konstruktion können Sie auch in die Erfassung der Daten verlagern.

    Sie fügen der betreffenden Tabelle einfach ein Feld „AktMonat“ mit dem folgenden Standardwert hinzu:

    =Monat ([Bestelldatum])


    Die Ausführung dieser Funktion benötigt bei der Erfassung nur Sekundenbruchteile. Bei der Ausführung einer Abfrage kann die oben gezeigte Berechnung aber je nach Anzahl der Datensätze bis zu mehrere Minuten kosten!


  • Die Wahl des richtigen Datensatzgruppentyps

    Wenn Sie sich die Eigenschaften einer Abfrage ansehen, werden Sie dort eine Einstellung DATENSATZGRUPPENTYP bzw. RECORDSETTYP mit den Optionen DYNASET oder SNAPSHOT finden.

    Diese Einstellung hat erheblichen Einfluss auf die Ausführungsgeschwindigkeit einer Abfrage: Eine Abfrage generiert eine Art Abbild der Tabelle, ein so genanntes „Recordset“, das die sortierten oder anhand eines Kriteriums ausgewählten Datensätze beinhaltet.

    Für dieses Recordset stellt Access Verwaltungsroutinen zur Verfügung, die beispielsweise das Zurücknehmen von Änderungen oder das Sperren von Datensätzen in einer Mehrbenutzerumgebung erlauben. Hier ist also ein höherer Vorbereitungs- und Verwaltungsaufwand notwendig, der sich natürlich auch in der Geschwindigkeit einer Abfrage niederschlägt.

    Wenn die Daten aber nur angezeigt oder ausgedruckt werden, können Sie auf die zusätzlichen Verwaltungsroutinen verzichten. Es werden keine Änderungen vorgenommen, sodass Sie auf eine Rückgängig-Funktion sowie das Sperren von Datensätzen verzichten können. Und genau das bringt Ihnen einen spürbaren Geschwindigkeitsvorteil.

    Über die Eigenschaft DATENSATZGRUPPENTYP bzw. RECORDSETTYP legen Sie fest, welchen Typ von Recordset Sie benötigen:

    • Wählen Sie DYNASET immer dann, wenn Datensätze geändert, gelöscht oder neu hinzugefügt werden sollen, also z. B. in einem Formular für die Bearbeitung der Datensätze.

    • Verwenden Sie die Einstellung SNAPSHOT, wenn die Daten nur für eine Anzeige zum Einsatz kommen und nicht geändert werden müssen, also beispielsweise wenn die Abfrage Basis eines Berichtes ist.

    Die Standardeinstellung von Access ist DYNASET. Der Geschwindigkeitsvorteil kann je nach Datenbasis erheblich sein, wenn Sie anstelle eines Dynasets einen Snapshot erstellen lassen! Prüfen Sie also Ihre Abfragen und setzen Sie immer dort, wo keine Bearbeitung der Daten notwendig ist, den Datensatzgruppentyp auf SNAPSHOT.


Für diese Seite wurden Bilder des Fotografen pmphoto aus der Bild-Datenbank Fotolia verwendet.

Wie finden Sie diesen Beitrag? Durchschnittliche
Bewertung
4 Sterne
bei 44 Bewertungen
Mit der Abgabe einer Bewertung wird ausschließlich der Wert der Bewertung gespeichert. Ein Rückschluss auf die Identität bestimmter Personen ist damit nicht möglich!
Diesen Beitrag jetzt...
Beitrag twittern    Beitrag bei XING posten


Dieser Beitrag wurde gesponsert von: Access_aktuell

Brandneue Tipps für Ihre Arbeit mit Access – Zeit sparend, effizient und professionell!

Verbringen auch Sie viel zu viel Zeit mit der Suche nach der optimalen Lösung für ein Access-Problem? Wünschen Sie sich praxisnahe und direkt umsetzbare Access-Tipps, die ohne langes Gerede auf den Punkt kommen?

In Access_aktuell müssen Sie sich in kein Thema umständlich einlesen, denn Sie suchen ja eine schnelle Lösung für Ihr Problem. Wenn Sie einen unserer Tipps umsetzen möchten, brauchen Sie dafür maximal 10 Minuten. Sie erhalten alle Erläuterungen und notwendigen Prozeduren leicht verständlich für den Praxiseinsatz aufbereitet.

Mit diesem nützlichen Profi-Know-how werden Sie zukünftig noch schneller und effizienter neue Datenbanken entwickeln und laufende Projekte optimieren.

Machen Sie Access_aktuell zu Ihrem stärksten Verbündeten bei Ihrer täglichen Datenbank-Arbeit!

Lesen Sie hier mehr über "Access_aktuell"

Klicken Sie hier für Ihren kostenlosen "30-Tage-Gratis-Test"


Lesen Sie auch unsere weiteren Beiträge rund um MS Office und Ihr Firmennetzwerk:


Diese Seite wurde vom McAfee SiteAdvisor
auf Sicherheit überprüft
Gelassenheits-Schaf
© 2005-2012, web suxxess factory