Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: to1984 am November 19, 2014, 13:50:47

Titel: Grundlegendes zum Aufbau
Beitrag von: to1984 am November 19, 2014, 13:50:47
Hallo,

gern möchte ich wissen, ob folgendes Vorgehen sinnvoll ist:

1.) Spricht für oder gegen dieses Vorgehen grundsätzlich etwas?

2.) Kürzlich tauschte in einer Abfrage die Tabelle durch die identische 1:1-Abfrage aus (hatte ich wohl vorher falsch rübergezogen...) und schon gingen alle Berechnungen darauf aufbauend nicht mehr. "das Feld xy kann in mehreren Tabellen sein", obwohl innnerhalb der Abfrage selbst der Name eindeutig war, selbst wenn ich den Namen der Abfrage vor das Feld setzte. Das habe ich nicht verstanden. Funktioniert das dann irgendwie anders, wenn ich eine Tabelle anstelle einer 1:1-Abfrage nehmen, die den gesamten Inhalt der gleichen Tabelle mit * widergibt?

3.) Und letzte Frage: Gibt es ein Für bzw. Wider, ob ich eine Berechnung direkt in der Tabelle durchführe oder in der ersten bzw. bei mir zweiten Abfrage (bspw. eine simple Multiplikation innerhalb einer Tabelle) oder macht das systemisch keinen Unterschied? Performance?

Danke
Titel: Re: Grundlegendes zum Aufbau
Beitrag von: database am November 21, 2014, 19:23:08
Hallo,

zu #1

Nein, grundsätzlich nicht, ist alles halt vielfach von den Gegebenheiten/Voraussetzungen abhängig.
Würde aber empfehlen die SQL-Seite nicht zu vernachlässigen, viele Dinge sind in SQL um einiges eleganter und vor allem performanter zu lösen als mit dem Abfrageassistenten.
Besonders bei verschachtelten Abfragen ist da einige Vorsicht geboten

zu #2
Wenn du in einer Abfrage eine Tabelle gegen eine Abfrage tauscht, meckert Access oftmals.
Eine Abfrage ist eben keine Tabelle und somit kommt das gleiche Feld mehrmals vor - in der Abfrage und in der Herkunftstabelle.

zu #3
Hier gibt es ein klares WIDER.
Außer in ganz seltenen Ausnahmsfällen werden in einer Tabelle KEINE berechneten Werte gespeichert.
Da dies ohnehin erst ab Version Acc2010 möglich ist (neues Feature, neuer Trick) solltest du alleine schon aus Kompatibilitätsgründen (was für ein Wort!) vorsorglich darauf verzichten und Berechnungen IMMER in Abfragen durchführen!