collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 64
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 2
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 14072
  • stats Beiträge insgesamt: 67582
  • stats Themen insgesamt: 9104
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: höchstes Datum aus mehreren Tabellen auswerten und berechnen  (Gelesen 154 mal)

Offline Grumpy

  • Newbie
  • Beiträge: 40
Ich habe 4 Tabellen in denen zu jeder User_ID ein Datum bzw. leer ist steht.
Tabellen: Modul_A, Modul_B, Modul_c, Modul_D
in den tabellen jeweils: User_ID (ist eindeutig, kommt in allen 4 Tabellen vor) und eine Datumsangabe

Jetzt muss ich das höchste Datum zu jeder User_ID finden, 2 Jahre addieren und dann in einer Tabelle: abspeichern.
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7429
Re: höchstes Datum aus mehreren Tabellen auswerten und berechnen
« Antwort #1 am: Oktober 09, 2018, 08:59:25 »
Hallo,
Zitat
Modul_A, Modul_B, Modul_c, Modul_D
Das gehört in eine Tabelle mit einem feld für das Modul.
Dann ist Dein Anliegen kein Problem.
Ansonsten musst Du mit einer Unionabfrage die Tabellen zusammenführen, was dann das Gleiche wäre nur viel umständlicher.

In welcher Tabelle sol dann das neue Datum gespeichert werden ?
Es ist auch die Frage, ob das Abspeichern überhaupt notwendig ist.
Das kann man auch mit einer Abfrage ermitteln und anzeigen.

Aber erst sollte mal das Grundgerüst in Ordnung gebracht werden.
Gruß
Klaus
 

Offline Grumpy

  • Newbie
  • Beiträge: 40
Re: höchstes Datum aus mehreren Tabellen auswerten und berechnen
« Antwort #2 am: Oktober 09, 2018, 09:25:24 »
Hab auch eine Tabelle Modul mit:
User_ID, Modul_A(Datumswert), Modul_B(Datumswert)...
Aber wie kann ich jetzt in dieser tabelle (Zeilenweise) das niedrigste Datum + 2Jahre -1 Tag berechnen....manche Module sind auch leer
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7429
Re: höchstes Datum aus mehreren Tabellen auswerten und berechnen
« Antwort #3 am: Oktober 09, 2018, 10:04:41 »
Hallo,
das ganze Datenmodell ist verkorkst.
Zitat
User_ID, Modul_A(Datumswert), Modul_B(Datumswert)...
Die Tabelle ist falsch aufgebaut und wäre bei korrekten Aufabu der 4 Tabellen als eine Tabelle ohnehin überflüssig.
Das neue Datum wird dann in einer Abfrage berechnet und nicht gspeichert.

Das setzt aber alles eine Umstrkturierung der Tabellen voraus.
Gruß
Klaus
 

Offline Grumpy

  • Newbie
  • Beiträge: 40
Re: höchstes Datum aus mehreren Tabellen auswerten und berechnen
« Antwort #4 am: Oktober 09, 2018, 10:08:01 »
wie strukturiere ich die tabelle richtig und wie sieht die Abfrage dann aus ?

ich muss am Ende für jede User_ID nur wissen was das höchste bzw früheste datum aus den Modulen A-D ist und dann bei dem jüngsten Datum +2 jahr -1 Tag
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7429
Re: höchstes Datum aus mehreren Tabellen auswerten und berechnen
« Antwort #5 am: Oktober 09, 2018, 10:18:53 »
Hallo,
dazu müsste man genau wissen, wie die Tabellen jetzt aufgebaut sind.
Sind Beziehungen eingerichtet, wenn ja, zeige bitte mal ein Bild des Beziehungsfensters. Aber so, dass man alle Felder der Tabellen sieht.

Wenn nein, Tabellen beschreiben.
Gruß
Klaus
 

Offline Grumpy

  • Newbie
  • Beiträge: 40
Re: höchstes Datum aus mehreren Tabellen auswerten und berechnen
« Antwort #6 am: Oktober 09, 2018, 10:32:13 »
Die ganze Datenbank ist leider auf einem rechner ohne Internet, daher kann ich keine Beziehungen hier zeigen.
Ich habe eine Tabelle Grunddaten mit ID (Primärschlüssel), Nachname, Vorname

eine Tabelle mit ID (entspricht der ID aus Tabelle Grunddaten daher eindeutig) ,
 Modul_A(Datum), Modul_B(Datum), Modul_C (Datum), Modul_D (Datum)
Es kann sein, daß z.B. Modul_A leer ist und nur in den anderen Modul B-C Datumsangaben drinnen sind.

Beide Tabellen sind über die ID 1:1 verknüpft.

Pro Datensatz in der Tabelle Grunddaten gibt es also maximal einen Datensatz in der Tabelle Module.

Ich benötige für eine Auswertung einmal das älteste Datum und einmal das jüngste Datum als auch das jüngste Datum +2 jahre -1 Tag

Ich kann aber auch um das ganze zu vereinfachen, alles in eine Tabelle einfügen.
Noch kann ich "umbauen"

 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1340
Re: höchstes Datum aus mehreren Tabellen auswerten und berechnen
« Antwort #7 am: Oktober 09, 2018, 10:42:10 »
Du benötigst zumindest eine Tabelle, in der User_ID, Datumsangabe und eine Herkunftsangabe (A, B, C oder D) steht. Dann ist User_ID gemeinsam mit der Herkunft eindeutig (könnte den Primärschlüssel bilden). Dann lässt sich in einer Abfrage entweder nach User_ID jeweils das höchste Datum ermitteln oder auch nach User_ID plus Herkunft das höchste Datum feststellen. Mit der DateAdd()-Funktion lässt sich dann zusätzlich das resultierende Datum ausgeben.

Das sind aber nur technische Aspekte. Ob es sinnvoll ist, die entsprechenden Daten nebst Berechnung in eine weitere Tabelle einzutragen, kann ich mangels Kenntnis der Datenhaltung nicht beurteilen.
Grüße von der (⌒▽⌒)
 

Offline Grumpy

  • Newbie
  • Beiträge: 40
Re: höchstes Datum aus mehreren Tabellen auswerten und berechnen
« Antwort #8 am: Oktober 09, 2018, 11:26:31 »
Ich hab eine Tabelle in der alle Daten drinnen sind.
Tabelle: Grunddaten mit ID als Primärschlüssel
Jedoch müsste ich ja jetzt zeilenweise auswerten um aus der Spalte Modul_A...Modul_d das älteste und jüngste Datum auszuwählen je Datensatz
Beispiel:
ID   Nachname    Vorname    Modul_A        Modul_B        Modul_C         Modul_D
1      Müller          Christian    01.01.2012    12.05.2014                         22.06.2018
2      Huber          Martin        01.01.2018                       13.06.2014

also für ID 1: 21.06.2020
       für ID 2: 31.12.2019
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23453
Re: höchstes Datum aus mehreren Tabellen auswerten und berechnen
« Antwort #9 am: Oktober 09, 2018, 11:31:45 »
Hallo,
Zitat
Noch kann ich "umbauen"

dann tu es auch... 

Zitat
Ich hab eine Tabelle in der alle Daten drinnen sind.

d. h. die Tabelle gehört normalisiert.



Zu Normalisierung siehe u. st. Links 1 , 1a und 1b.

Lachtaube hat Dir die prinzipielle Struktur beschrieben.



Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7429
Re: höchstes Datum aus mehreren Tabellen auswerten und berechnen
« Antwort #10 am: Oktober 09, 2018, 11:34:38 »
Hallo,
Du hast es nicht verstanden. Du brauchst 3 Tabellen.
- Personen (=Grunddaten)
- Modul
- PersonHatModul
In der 3. Tabelle wird der Primärschlüssel der Person und der Primärschlüssel des Moduls jeweils als Fremdschlüssel in je einem Datensatz gespeichert. Aber nur dann, wenn es auch das Modul zur Person gibt. In die 3. Tabelle kommt auch das Datumsfeld, das dann beliebig (Min, Max) ausgewertet werden kann. Außerdem lassen sich in dem einen Datumsfeld auch per Abfrage die 2 Jahre -1 Tag berechnen, ohne zu speichern.
Gruß
Klaus
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1340
Re: höchstes Datum aus mehreren Tabellen auswerten und berechnen
« Antwort #11 am: Oktober 09, 2018, 13:46:48 »
Schau Dir einmal diesen <dbfiddle> an, um ein Gefühl dafür zu erlangen, wie man die Daten strukturieren könnte.

PS: ich habe die Modul-Tabelle,wie sie Klaus erwähnte, im Beispiel weggelassen, weil sie dort nur per Buchstabe identifiziert wird.
Grüße von der (⌒▽⌒)