Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Grundlegendes zum Aufbau

Begonnen von to1984, November 19, 2014, 13:50:47

⏪ vorheriges - nächstes ⏩

to1984

Hallo,

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

  • Tabellen packe ich immer 1:1 in eine Abfrage (um ggf. Änderungen an Namen oder Erweiterungen besser steuern zu können)
  • dann baut oft eine weitere Abfrage mit Filtern oder Berechnungen darauf auf und so können schon mal locker fünf, sechs Abfragen aufeinander aufbauen
  • Teilweise ist das auch notwendig, weil ich die Summen oder Gruppierung dann weiter verwendet (um das in SQL zu machen, bin ich nicht fit genug)

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

database

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!