Office: (Office 2010) Zeiträume in zwei Tabellen vergleichen

Helfe beim Thema Zeiträume in zwei Tabellen vergleichen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo an Alle, ich bin Access Neuling, kämpfe mich aber schon ganz gut durch die Materie durch. Jetzt bin ich aber auf ein Problem gestoßen, welches... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von SebbiB, 14. Juni 2015.

  1. Zeiträume in zwei Tabellen vergleichen


    Hallo an Alle,

    ich bin Access Neuling, kämpfe mich aber schon ganz gut durch die Materie durch. Jetzt bin ich aber auf ein Problem gestoßen, welches ich irgendwie nicht ohne weiteres selber lösen kann. Habe auch lange recherchiert, zum Teil auch Ansätze gefunden, war aber selber nicht in der Lage diese umzusetzen. Für euch ist das bestimmt ein leichtes *Smilie

    Ich habe zwei Tabellen mit Kunden in denen jeweils mehrere Zeiträume für einen Kunden vorhanden sind. Diese können sich überschneiden bzw. können auch Lücken zwischen den Zeiträumen sein.

    Tabelle 1
    ID ------von--------------bis
    1-----01.01.2015----30.06.2015
    2-----01.10.2014----18.02.2015
    2-----20.02.2015----31.12.9999
    3-----01.10.2014----18.02.2015
    3-----15.02.2015----31.12.9999

    Tabelle 2
    ID--------von ----------bis
    1-----01.01.2014-----14.06.2015
    1-----01.05.2015-----31.12.9999
    2-----01.10.2013-----10.02.2015
    2-----20.02.2015-----31.12.2015
    3-----01.10.2012-----18.02.2014
    3-----01.10.2014-----18.05.2015
    3-----01.10.2014-----31.12.2015

    Ich möchte zwei Abfragen erstellen die mir zu allen Kunden folgendes liefert:

    1. Alle Kunden, in denen die Zeiträume aus Tabelle 1 komplett mit Zeiträumen aus Tabelle 2 gefüllt sind (die Zeiträume aus Tabelle 2 können auch über die Zeiträume in Tabelle 1 hinaus gehen).

    2. Alle Kunden, in denen die Zeiträume aus Tabelle 1 nicht komplett mit Zeiträumen aus Tabelle 2 gefüllt sind und dann bitte auch gleich mit ausgeben welchen Zeitraum das betrifft.

    Als Ergebnis aus Abfrage 1 müsste rauskommen (also die die komplett belegt sind):

    ID
    1

    Als Ergebnis aus Abfrage 2 müsste rauskommen (also nicht belegte Zeiträume aus Tabelle 1)

    ID-----von---------------bis
    2-----11.02.2015-----18.02.2015
    2-----01.01.2016-----31.12.9999
    3-----01.01.2016-----31.12.9999


    Vielen Dank für eure Hilfe *Smilie

    :)
     
    SebbiB, 14. Juni 2015
    #1
  2. Moin SebbiB.
    Willkommen im Forum.

    Deine Frage ist ja eher ein SQL- als ein Access Problem.
    Ganz so trivial ist das auch nicht, was Du möchtest ...
     
    hcscherzer, 15. Juni 2015
    #2
  3. Hallo Hans-Christian,

    erstmal vielen Dank für deine Antwort. Muss (sollte) das Thema jetzt in einen anderen Forenbereich verschoben werden?
     
    SebbiB, 15. Juni 2015
    #3
  4. Zeiträume in zwei Tabellen vergleichen

    Hallo!

    Tipp: verwende eine Kalendertabelle mit Tagen und verbinde damit deine Zeiträume. Dann kannst du die Tage ermitteln, die deinen Bedingungen entsprechen.

    Prinzip:
    Code:
    =>
    Alle Tage von T1, die nicht in T2 vorkommen.

    Falls du dann aufeinanderfolgende Tag lieber als Zeitraum haben willst, ist noch etwas Gehirn-Akrobatik angesagt, aber machbar ist auch das. *wink.gif*

    mfg
    Josef
     
    Josef P., 15. Juni 2015
    #4
  5. Hallo Josef,

    vielen Dank für die Antwort. Klingt für mich auch logisch..jedoch stelle ich mich grade ziemlich blöd an...

    ich bekomme jedes mal die Fehlermeldung, dass das "AND" nach dem "Between" fehlt..
     
    SebbiB, 16. Juni 2015
    #5
  6. Ich muss gestehen, dass ich bei Jet-Sql etwas ungeübt bin und beim Luftcode daher schon mal ein paar Klammern falsch sein können. *wink.gif*

    Eventuell muss es so aussehen:
    Code:
    mfg
    Josef
     
    Josef P., 16. Juni 2015
    #6
  7. Vielen Dank, das sieht jetzt besser aus *Smilie

    Leider scheint sich der Rechner immer aufzuhängen aufgrund der Datenmenge. Liegt das eventuell daran, dass kein Inner Join auf die ID zwischen T1 und T2 erfolgt?
     
    SebbiB, 16. Juni 2015
    #7
  8. Zeiträume in zwei Tabellen vergleichen

    Hallo!

    Die Kunden-ID gehört natürlich noch dazu.
    Ich zeigte nur das Prinzip der Datumsverknüpfung.

    mfg
    Josef
     
    Josef P., 16. Juni 2015
    #8
  9. Ich brauche doch nochmal hilfe. *frown.gif*

    Leider übernimmt er mir den entsprechenden Code nicht in die Entwurfsansicht, bzw. sagt er mir das er das nicht darstellen kann. Jetzt probiere ich schon einige zeit den Inner Join zur KundenID mit reinzupacken in die SQL Abfrage. Jedoch zeigt er mir ständig an das dann irgendwo ein Fehler ist. Kannst du / bzw. mir noch jemand den entscheidenden Anstoß geben wie ich

    " INNER JOIN T1 ON T2.[ID] = T1.[ID] "

    mit einfüge?

    Vielen dank für die Geduld mit mir *Smilie
     
    SebbiB, 16. Juni 2015
    #9
  10. Zeige bitte die vollständige Abfrage und nicht nur so ein Fragment.

    Zwischen T1 und T2 gibt es (in den obigen Darstellungen) schon ein LEFT JOIN. Was soll da ein zusätzliches INNER JOIN?
    Im einfachen Fall würde man einfach das zusätzliche Kriterium hinzufügen.
     
  11. SELECT T1.*, K.Kalendertag, T2.*

    from (T1

    INNER JOIN K ON (K.Kalendertag between T1.von and T1.bis))
    LEFT JOIN T2 ON (K.Kalendertag between T2.von and T2.bis)

    where
    T2.ID is null

    Der Left Join bezieht sich ja auf die Kalendertabelle.

    Da die jeweiligen Zeiträume in T1 und T2 immer zu einer bestimmten Person gehören, muss ich das natürlich irgendwie miteinander verknüpfen.

    Deswegen dachte ich, kann ich INNER JOIN T1 ON T2.[ID] = T1.[ID] irgendwie noch mit reinbringen.

    Was ich auch noch komisch finde ist, dass Access sobald ich ausversehen auf "Entwurfansicht" klicke mit dem Hinweis das er "between" nicht erkennt auch direkt die SQL Abfrage umschreibt und die entsprechenden Zeilen rausschmeißt ...

    lg und Danke für die Hilfe
     
    SebbiB, 16. Juni 2015
    #11
  12. Code:
     
    hcscherzer, 16. Juni 2015
    #12
  13. Zeiträume in zwei Tabellen vergleichen


    Danke für die Antwort. Jetzt sagt mir Access das dieser Join-Ausdruck nicht unterstützt wird *upps
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    SebbiB, 16. Juni 2015
    #13
  14. Access mag keine "Richtungswechsel" innerhalb einer Abfrage, also entweder alles INNER oder alles LEFT Join oder 3. Möglichkeit wäre es, einen von den beiden Joins in einer extra Abfrage zuerst auszuführen udn in einer weiteren Abfrage dann den anderen Join drauf machen.
     
    ios707, 16. Juni 2015
    #14
  15. Hallo!

    Access/Jet meckert, wenn man zuerst Left join und danach inner join nutzt. Umgekehrt ist das schon möglich.

    Vermutlich wird das angenommen werden:
    Code:
    .. die benötigte Klammersetzung bei Jet ist mir immer wieder ein Rätsel. *wink.gif*

    mfg
    Josef
     
    Josef P., 16. Juni 2015
    #15
Thema:

Zeiträume in zwei Tabellen vergleichen

Die Seite wird geladen...
  1. Zeiträume in zwei Tabellen vergleichen - Similar Threads - Zeiträume Tabellen vergleichen

  2. Anwesenheit in einem Zeitraum grafisch darstellen

    in Microsoft Excel Hilfe
    Anwesenheit in einem Zeitraum grafisch darstellen: Hallo, ich habe folgende Daten (Anwesenheit von Menschen in diesem Zeitraum): Spalte A: Startzeitpunkt in hh:mm z.B. 15:18 Uhr Spalte B: Endzeitpunkt in hh:mm z.B. 23:35 Uhr Achtung: Es gibt...
  3. PowerQuery Zeiträume miteinander vergleichen

    in Microsoft Excel Hilfe
    PowerQuery Zeiträume miteinander vergleichen: Halli Hallo, ich habe mal eine Demo-Datei hochgeladen in welcher das Problem nochmal erklärt wird. In der tabAbwesenheiten überlappen sich teilweise die Zeiträume mit denen in der...
  4. Werte auf Zeitraum verteilen

    in Microsoft Excel Hilfe
    Werte auf Zeitraum verteilen: Hallo, aktuell bin ich dabei eine Mittelabflussplanung in Excel zu erstellen. Zu diesem Zweck will ich alle Aufträge die ein definiertes Start- und Enddatum haben auf die jeweiligen Monate...
  5. Erstellung Angebot mit 6 Zeiträumen und 4 Preiskategorien

    in Microsoft Excel Hilfe
    Erstellung Angebot mit 6 Zeiträumen und 4 Preiskategorien: Hallo Zusammen, bin neu hier und habe die folgende Herausforderung: Es gelten die folgenden Eckdaten - es gibt 6 Mietzeiträume bei denen es jeweils 3 unterschiedliche Zeitraumvorgaben gibt (...
  6. Tabelle nach Zeitraum filtern

    in Microsoft Excel Hilfe
    Tabelle nach Zeitraum filtern: Hi Leute ich brauche mal eure Hilfe: Ich habe eine Tabelle in der ca 200 Ereignisse mit Datum und Ort aufgelistet sind. Nun möchte ich diese Tabelle nach einem Zeitraum filtern. Zum Beispiel alle...
  7. Prüfen ob Datum zwischen zeitraum -> in neue Tabelle kopieren...

    in Microsoft Excel Hilfe
    Prüfen ob Datum zwischen zeitraum -> in neue Tabelle kopieren...: Hallo VBA´ler.... ich möchte folgenden Code erweitern, er soll jetzt nicht nur prüfen ob das Datum in der Spalte 10 also J nicht nur über dem definierten datum liegt sondern ob er zwischen dem...
  8. Überlappende Zeiträume in zwei Tabellen

    in Microsoft Access Hilfe
    Überlappende Zeiträume in zwei Tabellen: Hallo zusammen, ich habe zwei verschiedene Tabellen (TABELLE_A und TABELLE_B) in einer Access-Datenbank, die jeweils über ein Kennzeichen (ID) verknüpfbar wären. Beide Tabellen haben folgenden...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden