Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Eintragung von Werten in eine Abfrage

Begonnen von Normen91, Juli 05, 2015, 12:18:59

⏪ vorheriges - nächstes ⏩

Normen91

Hallo zusammen,

bei der letzten Frage konntet Ihr mir gut helfen. Ich hoffe auch diesmal wieder.
Es geht darum, dass ich eine Test DB aufbaue mit der folgenden Struktur:


Vielleicht könnt Ihr auch direkt etwas über die Struktur sagen, ob die verbesserungswürdig ist.

Ich habe zu dieser DB eine Query erstellt, die mir die Werte aus der Tabelle tblBau_Dat_Uni ausgibt über deren Beziehungen.
Ich stelle mir jetzt vor ich habe hier 5000 Datensätze die ich da eintragen muss. Ich kann zwar in der Quer Daten eingeben, jedoch werden diese immer neu erstellt. Wenn ich also nun einen Baustein eintragen möchte zu einem bereits bestehenden Datum, dass muss ich erst in die Tabelle und den Primärschlüssel des Datums suchen...
Das ist sehr aufwendig. Geht das eleganter ohne Formulare zu benutzen?

Viele Grüße

MaggieMay

Hi,
ZitatGeht das eleganter ohne Formulare zu benutzen?
nein, die "eleganteste" Art in Access Daten zu erfassen, anzuzeigen und zu pflegen ist zweifellos auf Basis von Formularen.

Was dein Tabellenkonzept betrifft, so halte ich es für "übernormalisiert".
Und die Beziehung von tblMonat.dat_id zu tblDatum halte ich für falsch.
Freundliche Grüße
MaggieMay

MzKlMu

Hallo,
die Datumstabellen halte ich auch für überflüssig (habe ich erst nach dem Beitrag von MaggieMay verstanden). Datum eintragen und gut ist. Ein Datum ist intern auch eine Zahl, hier zusätzlich ein Schlüsselfeld (mit Tabelle) zu verwenden ist nicht notwendig.

Mit einem Beziehungsbild von Access käme ich besser zurecht, kannst Du das mal zeigen ?
Gruß Klaus

ebs17

ZitatDas ist sehr aufwendig. Geht das eleganter ohne Formulare zu benutzen?

5.000 Datensätze eingeben ist an sich aufwändig. Wenn Du eine geeignete Datenquelle oder eine Regel zur Bildung der Datensätze hast, wären Abfragen das Elegante, weil nativ in einer Datenbank.
Zur Verteilung der Daten und Bestimmung der Schlüssel siehe auch Importtabelle in m:n-Beziehung auflösen.

Bezüglich Datenmodell: Der ganze Zweig tblDatum ist überflüssig.
Das Datum kannst Du direkt in die Verknüpfungstabelle schreiben. Das sind 8 Byte pro Wert in einem Datumsfeld gegenüber 4 Byte bei einem Long-Schlüssel zzgl. dem Verknüpfungsstress.
Formate wie Monat, Jahr und viele weitere kann man direkt aus dem Datum berechnen oder aber in einer zusätzlichen Hilfstabelle (ohne Einbindung in Beziehungen) nachschlagen. Siehe da auch Grundlagen - SQL ist leicht (3) - Kalendertabelle

ZitatEintragung von Werten in eine Abfrage
Daten sollten wohl eher in Tabellen eingetragen werden.
Mit freundlichem Glück Auf!

Eberhard

Normen91

Vielen Dank für euer Feedback.

Die extra Tabelle mit dem Datum habe ich erstellt, weil ich explizit angeben muss bei meinem Datensatz von wann bis wann ein Datensatz gültig ist. So kann es vorkommen, dass wenn der Eintrag vorgenommen wird, noch kein Datum bekannt ist wann er abläuft. Also muss in einigen Monaten ein zweiter Zeitstempel vorgenommen werden.

Ich würde euch gerne morgen ein verbesserte Version dann zeigen, gerne auch direkt in Access Beziehungen wenn euch das lieber ist.

VG

MzKlMu

Hallo,
ZitatDie extra Tabelle mit dem Datum habe ich erstellt, weil ich explizit angeben muss bei meinem Datensatz von wann bis wann ein Datensatz gültig ist
. Dann ist diese auch überflüssig. Trage beide Daten in die Tabelle direkt ein. Das Datum auch noch in Jahr und Monatstabellen zu zerlegen ist völlig überflüssig.
Gruß Klaus