Prüfen ob Termin in einem Zeitraum noch frei ist ... Hilfe!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Nein, da fehlt noch der Fall, dass ein bestehender Termin den neuen Termin vollständig enthält.
    Bist du da ganz sicher? Ich habe es extra getestet:

    Nehmen wir an es existiert bereits der folgende Termin:
    Start: 10:00 Uhr
    Ende: 10:30 Uhr

    Der neue Termin sieht so aus:
    Start: 10:00 Uhr
    Ende: 10:30 Uhr

    Dann wird bei mir korrekterweise kein Datensatz geschrieben und ein Fehler ausgegeben.

    Oder meinst du etwas anderes?

    Kommentar


    • #17
      Deine Bedingungen mal etwas übersichtlicher dargestellt:

      Code:
      start_bestand > start_neu AND start_bestand < ende_neu
      OR
      ende_bestand > start_neu AND start_bestand < ende_neu
      _bestand dabei für einen bereits bestehenden Termin, _neu für den neu anzulegenden.

      Und jetzt überprüfe das mal für
      bestand: 9:00 - 16:00
      neu: 12:00 - 14:00
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #18
        Deine Bedingungen mal etwas übersichtlicher dargestellt:

        Code:
        start_bestand > start_neu AND start_bestand < ende_neu
        OR
        ende_bestand > start_neu AND start_bestand < ende_neu
        _bestand dabei für einen bereits bestehenden Termin, _neu für den neu anzulegenden.

        Und jetzt überprüfe das mal für
        bestand: 9:00 - 16:00
        neu: 12:00 - 14:00
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #19
          Hallo,

          bestand: 9:00 - 16:00
          neu: 12:00 - 14:00
          hab's so ausgeführt.
          Scheint zu funktionieren. Ausgabe:



          Schöne Grüße

          Kommentar


          • #20
            Der Thread ist älter, jedoch findet man ihn per Google und enthält eine unzureichende Lösung. Daher Antworte ich hier.

            Bitte folgenden Fall prüfen:
            bestand: 12:00 - 14:00
            neu: 9:00 - 16:00

            09 Uhr ist nicht zwischen 12 und 14.
            16 Uhr ist nicht zwischen 12 und 14.

            Es liegt aber dennoch eine Überschneidung vor.

            Nach meiner Logik dürfte deine Abfrage also nicht richtig sein.
            Du musst den umgekehrten Fall auch noch Prüfen. Ob innerhalb des neuen Termins bereits ein Termin besteht. Bis her prüfst du nur, ob der neue Termin innerhalb eines bestehen fällt, nicht aber, ob der neue Termin ein bestehenden umschließt.

            In etwa so also (ungeprüft):
            Code:
            start_bestand > start_neu AND start_bestand < ende_neu
            OR
            ende_bestand > start_neu AND start_bestand < ende_neu
            OR
            start_neu > start_bestand AND start_neu < ende_bestand
            OR
            ende_neu > start_bestand AND start_neu < ende_bestand
            Falls du dies noch liest, wäre es nett, wenn du meinen Verdacht prüfen könntest.
            Zuletzt geändert von bel; 20.06.2015, 10:28. Grund: Bedingung hinzugefügt

            Kommentar

            Lädt...
            X