Office: (Office 2010) Zeitzyklen berechnen, nur Werktage, oder mit oder ohne Feiertage

Helfe beim Thema Zeitzyklen berechnen, nur Werktage, oder mit oder ohne Feiertage in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich muss verschiedene Zyklen von Fälligkeiten berechnen. Immer ausgehend von einem letzten fälligen Termin. Die Vielzahl ist recht hoch... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Unklar01, 17. August 2018.

  1. Zeitzyklen berechnen, nur Werktage, oder mit oder ohne Feiertage


    Hallo zusammen,
    ich muss verschiedene Zyklen von Fälligkeiten berechnen.
    Immer ausgehend von einem letzten fälligen Termin.
    Die Vielzahl ist recht hoch (glaube ich zumindest).
    (Einige werden es bemerken, es stammt aus einer Gesamtaufgabe,
    ich muss es getrennt machen sonst schaffe ich den gesetzten Termin kommenden Dienstag nicht)

    folgende Zyklen muss ich berechnen:
    - täglich
    - Montags, kein FT
    - Donnerstags, kein FT
    - 1. Arbeitstag des Jahres, kein WE oder FT
    - 1. Arbeitstag des Monats, kein WE oder FT
    - 3. Arbeitstag des Monats
    - 7. Arbeitstag des Monats, kein WE oder FT
    - 3. Arbeitstag des Monats, kein WE oder FT
    - 1. und 15. Arbeitstag des Monats, kein WE oder FT
    - 15. des Monats, kein WE oder FT
    - Quartalsende 1.1, 1.4, 1.7, 1.10, kein WE oder FT

    (WE=Wochenende, FT=Feiertag)
    Es verschiebt sich wenn notwendig immer auf den nächsten möglichen Wochentag.

    Ich habe in der angehängten Beispielbank bereits verschiedene Module enthalten, ich weiß leider nicht wie, oder ob ich sie überhaupt dazu verwenden kann. Ursprünglich dienten die der Feiertagsberechnung.
    Ich habe aber eine zweite Feiertagstabelle (Berlin) eingefügt die ich dazu nutzen will.

    Das ganze soll immer berechnen ob ein Bericht bezogen auf heute noch aktuell ist, oder bereits neu ermittelt werden muss.
    Die Vielzahl der Berichte die hier überwacht werden sollen macht das notwendig.

    Ich wäre SEHR dankbar wenn mir jemand dabei helfen könnte.

    :)
     
    Unklar01, 17. August 2018
    #1
  2. Du müsstest klären, wie denn überhaupt berichtet wird. Ist der Donnerstag ein Feiertag, fällt dann der Bericht auf den Mittwoch oder auf den Freitag oder gibt es ihn dann garnicht?

    PS: mit einer Kalendertabelle, die neben einem fortlaufenden Datum zumindest die Arbeitstage ausweist (z.B. als Ja/Nein-Feld), ist dann unter Berücksichtigung der zu definierenden Regel das Ermitteln des Datums ein Kinderspiel.

    PS: im Anhang einige Beispiele mit Parameterabfragen, die Deinen Anforderungen vermutlich entgegenkommen.
     
  3. \@Nouba,
    coole Kalendertabelle.
    Damit wird wirklich jede Datumberechnung zum Kinderspiel.

    Edit:
    Außerdem auch schön zu sehen, wie die Profis alle Regel der Normalisierung ignorieren!
     
    markusxy, 18. August 2018
    #3
  4. Zeitzyklen berechnen, nur Werktage, oder mit oder ohne Feiertage

    Hallo

    habe jetzt den Link von Noba nicht angesehen !
    in meiner Doc s. Fusszeile unten rechts

    Seite 321
    11.25 Erster oder Letzer Arbeitstag eines Monat’s mit berücksichigung der Feiertage

    Ab Seite 322 findest Du auch einiges zum Thema z.B.
    11.24 Anzahl Arbeistage zwichen zwei Datum (anz. Tage ohne Sa, So, Feiertage)


    Seite 323
    11.27 Feiertagberechnung
     
    Lanz Rudolf, 18. August 2018
    #4
  5. Hallo an alle Mitstreiter,
    vielen Dank für Eure Hilfe.
    Ich habe mit wie Ihr sicher gesehen habt die halbe Nacht um die Ohren geschlagen, toll wenn man kurzfristig feste Vorgaben für die Fertigstellung bekommt und einen das bis in die Koje begleitet. Schlaf, äh wassndas?

    Ich habe mir Eure Vorschläge noch nicht angesehen, mache ich aber gleich.
    Einige von Euch haben mir schon sehr oft geholfen, DANKE !
     
    Unklar01, 18. August 2018
    #5
  6. \@Unklar,

    ich habe die Version um laufende Arbeitstage im Monat erweitert. Somit kann man das Top-Prädikat in den Abfragen eliminieren.

    Die Abfragen habe ich nicht erneuert -aber ich denke mit der Nummer des Arbeitstags im Monat kommst Du sicherlich leicht zurecht.

    PS: im Code der alten Version hat sich noch ein Fehler eingeschlichen. In PopulateDimensionTable muss das Argument ForYear und nicht Year heißen.
     
  7. Hallo Nouba,
    Du bist ja echt der Knüller ! Weist Du was ich mir gerade wünsche?
    Das ich das hier genau wie Du verstehen würde.
    Absolut super von Dir !

    Stellt sich mir gerade die Frage, wie schraube ich das in meine Bank?
    Ich hatte ja die Möglichkeit über ein KombiFeld auszuwählen welcher Zyklus
    zum tragen kommen soll. Anhand der Zyklustabelle war angegeben welche Formel verwendet werden soll.
    Wie bringe ich der Bank nun bei, welche Abfrage ihr Ergebnis in die TblBericht in das Feld "faellig" übergibt?

    Ich kann jedes Datum mit Deiner Lösung ermitteln, aber wie automatisiere ich das?
    Könntes Du mir in meiner Beispieldatenbank nur ein Beispiel rein bringen, die anderen schraube ich dann selber rein, wenn ich das verstehe. Denke aber schon.
     
    Unklar01, 19. August 2018
    #7
  8. Zeitzyklen berechnen, nur Werktage, oder mit oder ohne Feiertage

    Hallo markusxy,
    hast Du eine bessere Idee das ganze umzusetzen?
    Momentan kann ich nur auf ein Ergebnis hin arbeiten, Schönheit kommt später.
     
    Unklar01, 19. August 2018
    #8
  9. \@Unklar01,
    ich hab mich mit deinem Thema nicht beschäftigt,
    da dir aus meiner Sicht einfach zu viele Basics für die Aufgabe fehlen.

    Aber abgesehen davon, ist Nouba wohl einer der Besten im Forum.
     
    markusxy, 19. August 2018
    #9
  10. Das "Geheimnis" liegt darin zu unterscheiden, was Tabellen der Stammdaten, die dann auch den Regeln von Datenmodellierung und Normalisierung unterliegen sollten aus bekannten Gründen, und Hilfstabellen, die parallel zum Datenmodell existieren und einfach Berechnungen erleichtern sollen, sind. Abfragen als native Datenbanktechnik kommen nun mal mit Tabellen bestens zurecht.

    Wie auch Nouba zeigt, wird man Inhalte von solchen Tabellen im Stück zusammenhängend berechnen, z.B. für ein Kalenderjahr. Datensatzweise Editierungen und Löschungen machen keinen Sinn, also dürfte auch das Risiko für die Speicherung von berechneten Werten wie Anfüge-, Änderungs- und Löschungsanomalien praktisch nicht bestehen. Falls man etwas ändern müsste (=> Kalenderumstellung auf Trump-Kalender, neue Feiertage usw.) würde man komplett löschen und komplett neu füllen.

    Warum das Ganze?
    - Für ein Datum wie den heutigen 19.08.2018 würde man einmalig berechnen, dass das ein Sonntag im August ist und dass es kein Feiertag und kein Arbeitstag ist. Einmalig berechnen ist weniger Aufwand als jedesmalig berechnen. Das dürfte nachvollziehbar sein.
    Typischerweise ändert sich ein Kalender sehr selten, so dass auch Papierkalender funktionieren, die drei Jahre vor dem eigentlichen Jahr gedruckt wurden.
    - Inhalte von Tabellen kann man indizieren. Wenn man also Tagesdaten auf Monate gruppieren will, findet man dann in der Kalendertabelle nicht nur den Monat, sondern kann für den gefundenen Mionat für die Gruppierung auch dessen Index nutzen. Wer Indexnutzung verstanden hat, wird auch hier zustimmen.

    So bringt dann Nachschlagen in einer sinnvoll gedachten und vorbereiteten Tabelle Performancevorteile gegenüber einem jedesmaligen Berechnen. Nachvollziehen kann man das in dem hier hinterlegten Beispiel: Grundlagen - SQL ist leicht (3) - Kalendertabelle


    Ein paar Gedanken gab es schon mal.
    Vorhanden sein von Dateien überwachen, Berichtsüberwachung
    Aber von vorne anfangen und weitgehend auf wieder das Gleiche zu kommen ist auch schön und zeitfüllend. Für best practice gibt es nicht soooo viele Varianten.
     
  11. Nun, ich weiß ja nicht genau, wie Deine Strategie aussieht. Ich lasse deshalb bei Auswahl eines Berichtsdatensatzes in einem Listenfeld einfach die entsprechende Abfrage öffnen.

    PS:das Feld Is_Workday ist nun eigentlich überflüssig - ich war nur zu faul zum Löschen.
     
  12. Hallo,

    https://onedrive.live.com/?id=CCB635...B6359C11E2936D

    enthält u.a. "Acc_praktische_Hilfsmasken_2018_02_03.mdb"
    Diese Datei enthält u.a. eine Kalendertabelle "tblAlleTage" die für jeden Tag zwischen 1990 und 2100 einen Datensatz enthält. Die Tabelle enthält u.a. für jedes Bundesland ein Feld, das anzeigt ob der Tag ein Feiertag ist oder nicht. Zudem sind natürlich die Wochentagsnr, Wochennr, u.ä. Infos vorhnden. Für die nächsten 2 - 3 Jahre ist auch ausgefüllt, für jedes Bundesland ein Feld, das anzeigt ob der Tag ein Ferientag ist oder nicht.
    Ein Jahreskalender zeigt die Verwendung ...
    mfg Klaus
     
    KlausObd, 19. August 2018
    #12
  13. Zeitzyklen berechnen, nur Werktage, oder mit oder ohne Feiertage

    Ach, da gibt es auch die gute alte KnowHow-DB. Freeaccess hat sich ja als Website verabschiedet.
     
  14. Danke Nouba,
    Du hast Dir richtig Arbeit gemacht.
    Du beziehst Dich bei der Berechnung immer auf den heutigen Tag, oder?
    Ich müßte aber das letzte Fälligkeitsdatum verwenden, denn von dort aus berechnet er (soll er) das nächste fällige Datum berechnen.
    Dann schaue ich:
    1. ich setze alle Felder "aktuell" auf "nein"
    Die Berechnung bezieht sich auf das letzte Reportdatum und ermittelt das neue Fälligkeitsdatum.
    ist das nächste Datum kleiner gleich heute -> ist der Report nicht mehr gültig. "aktuell" bleibt auf "nein"
    ist das nächste Datum größer als heute -> ist der Report noch gültig.
    "aktuell" wird auf "ja" gesetzt.
    Bei zwei Fälligkeiten im Monat müßte er zwei Berechnungen machen.
    Befinde ich mich nach dem 1. aber noch vor dem 15. und
    befinde ich mich am 15. und danach.

    Alle nicht mehr gültigen Reports lese ich aus und schaue ob es den neuen Report schon gibt. (der wird automatisch, oder von Hand erstellt)
    Wenn ja bekommt er auch den Haken in "aktuell".
    Wenn eine neu erzeugte Datei gefunden wird setze ich das Datum der errechneten Fälligkeit in das Feld letzte Fälligkeit.
    Das was übrig bleibt wird als nicht aktuell markiert.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Unklar01, 19. August 2018
    #14
  15. Hi Unklar,

    ich beziehe mich auf die vier Steuerelemente auf der rechten Seite des Formulars,deren Inhalte auch geändert werden können. Nur der sogenannte Tägliche Bericht, verwendet den eingestellten Tag.Der Rest ist ja vom Jahr und Monat bzw. vom Quartal abhängig.

    In Deine Berechnungen bin ich nicht eingestiegen. Aber wenn diese stimmen, kannst Du ja das entsprechende Datum zerlegen und entsprechende Parameter für jede Abfrage setzen. Ob dabei die Parameter dann über Steuerelemente oder über VBA-Code weitergereicht werden, ist im Prinzip egal.
     
Thema:

Zeitzyklen berechnen, nur Werktage, oder mit oder ohne Feiertage

Die Seite wird geladen...
  1. Zeitzyklen berechnen, nur Werktage, oder mit oder ohne Feiertage - Similar Threads - Zeitzyklen berechnen Werktage

  2. Positive und Negative Stunden berechnen

    in Microsoft Excel Hilfe
    Positive und Negative Stunden berechnen: Moin, ich komme einfach nicht weiter und ich habe auch gegoogelt ohne Ende. Kann mir einer helfen für eine Formel um Negative mit positiven Stunden zu Summieren? Ich habe diese Formel...
  3. Uhrzeiten berechnen

    in Microsoft Excel Hilfe
    Uhrzeiten berechnen: Hallo zusammen, ich hatte früher eine Tabelle wo ich mit Uhrzeiten gerechnet habe, Diese finde ich leider nicht mehr. Mein problem besteht darin dass ich Zeiten aus einem Erfassungs Programm in...
  4. Umsatzsteuer mit Dropdown berechnen - Rechnung

    in Microsoft Word Hilfe
    Umsatzsteuer mit Dropdown berechnen - Rechnung: Hallo zusammen, für eine Rechnung soll im Dropdown die Umsatzsteuer von 0%, 7% oder 19% ausgewählt werden und dann berechnet werden. Wie bekomme ich das am besten hin? Datei anbei. Danke und Grüße...
  5. Provisions-Berechnung mit Pivot-Tabelle

    in Microsoft Excel Hilfe
    Provisions-Berechnung mit Pivot-Tabelle: Hallo. Ich habe eine Liste, wo ich alle Bestellungen meiner Kunden und Lieferanten eintrage mit Umsatz usw. Dahinter habe ich alle Kunden und Lieferanten eingetragen mit ihren verschiedenen...
  6. Alter aus Datum oder nur Jahr berechnen

    in Microsoft Excel Hilfe
    Alter aus Datum oder nur Jahr berechnen: Guten Abend zusammen Ich habe eine Liste mit verschiedenen Daten, z.B: 15.08.1965 1942 26.04.1963 1988 2017 2019 23.01.1998 Mit Datedif kann ich die Anzahl Jahre, wenn das Datum vollständig ist,...
  7. Zeitdauer berechnen Start/Ende in versch. Spalten

    in Microsoft Excel Hilfe
    Zeitdauer berechnen Start/Ende in versch. Spalten: hallo zusammen, Start und Ende eines Ereignisses stehen in unterschiedlichen Zeilen und ich möchte daraus mittels power query die Dauer je Ereignis in je einer Zeile berechnen. Habs mit...
  8. Zeiten wie berechnen

    in Microsoft Excel Hilfe
    Zeiten wie berechnen: Hi, Spalte F soll von Spalte H subtrahiert werden. Sodas ich in Spalte I sehen kann, wie viel Zeit ich das Kind länger oder kürzer in der Kita lasse. Ihr seht z.B. in der Zeile 35 kommt Excel...
  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