Office: (Office 2013) Zeitraum ermitteln

Helfe beim Thema Zeitraum ermitteln in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, was Schlumpf sich da so vorstellt ist mM, eine reine Terminvergabe (ev. hat er es auch geschrieben und ich habe es nur nicht gelesen!) Er hat... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von dasschlumpf, 11. August 2015.

  1. Zeitraum ermitteln


    Hallo,

    was Schlumpf sich da so vorstellt ist mM, eine reine Terminvergabe
    (ev. hat er es auch geschrieben und ich habe es nur nicht gelesen!)
    Er hat Datum, Zeit von bis, Mitarbeiter und Kunde angegeben.
    Eine Zeitüberschneidung ist bei Falscheingabe für Termine möglich aber nicht unbedingt ideal dafür.

    Meine Idee dazu im Anhang und ich hoffe, ich habe nichts übersehen *Smilie
     
    Kyron9000, 15. August 2015
    #31
  2. \@Alfred!

    Deine Muster DB gefällt mir, insbesondere die beiden Felder Dummy und Falscheingabe.
    Ebenso die Anzeige der Fehlervarianten via bedingter Formatierung.

    Was ich vermisse ist, daß eine Überlappung erst nach Aktualisierung des Mitarbeiters im HF angezeigt wird.
    Damit geht verloren, welche Eingabe den Fehler ausgelöst hat.
    Das ist bei vielen Datensätzen im UF ein entscheidender Nachteil.
    Und wenn man dann noch versehentlich einen anderen Mitarbeiter erwischt,
    sieht man den Fehler erst dann, wenn wieder der ursprüngliche MA
    ausgewählt wird.
    Ein Datensatzwechsel im UF löst die Fehleranzeige auch nicht aus.

    An alles auf einmal kann man nie denken.
    Und dazugelernt habe ich auch wieder etwas.

    Wolfgang
     
    wb_3001, 15. August 2015
    #32
  3. \@Wolfgang,

    ...also ich habe A2013 und da wird jede Falscheingabe sofort rot, nach verlasse des Feldes [ZeitVon], angezeigt.
    Ich speicher den DS und setzt ein Requery auf das Feld [Falscheingabe] nach Aktualisierung von Feld [ZeitVon].
    Code:
    Sollte doch so passen.

    Auch eine Zeitgleichheit oder [DatumBis + ZeitBis] kleiner als [DatumVon + ZeitVon] wird kontrolliert und sofort orange angezeigt.

    Ich werde es später noch mit AC2010 testen und übermorgen dann mit AC2007
    AC2003 würde auch noch möglich sein.

    Ich kann es iM noch nicht bestätigen, dass es teilweise nicht Angezeigt wird.

    Schau ma mal, muss ich erst testen... eventuell wenn man ein Feld überspringt und zu einem anderen DS wechselt...? *Smilie
    Vielleicht muss ich es beim Verlassen setzen, dass man mit Enter das Feld verlassen muss!?

    PS: was mir eben aufgefallen ist, die Sortierung habe ich vergessen zu ändern...
    IDMitarbeiter und IDKunden sollte nicht sortiert werden, nur DatumVon und ZeitVon

    Edit:
    *Smilie denke ich bin drauf gekommen wie du getestet hast!
    Einen Datensatz vorher, die ZeitBis geändert... funkt nicht... richtig!
    Bin eigentlich davon ausgegangen, dass ein DS eingegeben wird und dann der nächste usw.
    Aber, kein Problem, den selben Code wie im ZeitVon steht auch für ZeitBis verwenden...
    eventuell auch für die Daten (Datum)
    Dann würde ich den Code aber in eine extra Sub schreiben und diese dann überall aufrufen.
    So könnte ich es mir vorstellen...
    Code:
     
    Kyron9000, 15. August 2015
    #33
  4. Zeitraum ermitteln

    \@Alfred!

    Danke für die Antwort.
    Du brauchst um Himmels Willen nicht wirklich alles ausprobieren.

    Mit Me.Falscheingabe.Requery soll offenbar das SUB Falscheingabe_Enter aufgerufen werden.
    (Anm: Ein Requery auf ein Textfeld käme mir überhaupt nicht in den Sinn.
    Das ließe sich auch anders besorgen.)

    Wozu das Feld Falscheingabe überhaupt gut ist erschließt sich mir nicht wirklich.

    Doch maße ich mir nicht an, Deinen Entwurf zu zerpflücken.
    Das Prinzip der Fehlerermittlung funktioniert grundsätzlich, und um das ging es schlußendlich.
    Nur fehlt mir definitiv der Zusammenhang zur fehlerhaften Eingabe.

    Deine Prüfungen laufen nur ab, wenn man das Feld ZeitVon verläßt,
    nicht aber wenn man das Feld ZeitBis erfaßt und verläßt. Da fehlt der dem Feld ZeitVon entsprechende Code.
    In diesem Fall wird sicher auch unter A2013 kein Fehler angezeigt.

    Niemand testet besser, als jener, die die Anwendung nicht erstellt hat.
    So ist das immer!

    Mich beeindruckt jedenfalls Deine Mühewaltung in einer fremden Sache.
    (Tat ich aber auch.)

    Danke, Wolfgang
     
    wb_3001, 15. August 2015
    #34
  5. ...ohne dem Feld [Falscheingabe] würde überhaupt nie eine Falscheingabe angezeigt werden
    und ohne Requery funkt es auch nicht :
    Das ich nur dieses Feld mit Requery beglückt habe *wink.gif* stammt noch davon, da ich vorher
    = DLookup(....) als Steuerelementinhalt hatte, da hat das Requery für das Feld ganz gut gepasst.
    Aber, in der Abfrage gleich mit dabei fand ich dann aber doch die bessere Lösung, außerdem viel schneller.
    Ein Me.Recalc würde natürlich auch passen, aber ist das nicht egal?

    Aber, ich habe den "Fehler" schon erkannt und im oben stehenden Code korrigiert.
     
    Kyron9000, 15. August 2015
    #35
  6. \@alfred!

    Danke für die Info!

    Anbei eine von mir angepaßte Version deiner DB.
    Ich habe die beiden Felder "Dummy" und "Falscheingabe" entfernt
    und die Anzeige ev. vorhandener Fehler funktioniert trotzdem.
    Allerdings erst wenn der Datensatz gewechselt wird!
    Der Anwender hat daher Zeit, alle Datums und Zeitfelder einer Zeile zu prüfen, eher er den Datensatz wechselt.

    Die Problematik, daß nur der erste Fehler maskiert wird bleibt.
    Die Zeile, deren Änderung den Fehler auslöste, kann man weiterhin nicht ausmachen.
    Dazu müßtest Du die gesamte Logik entscheidend überarbeiten.
    Auch jene mit der bedingten Formatierung.

    Wolfgang
     
    wb_3001, 15. August 2015
    #36
  7. Guten Morgen!

    @Wolfgang
    Danke für deinen Test, weiß ich zu schätzen.

    Eines wusste ich nicht, dass die bedingte Formatierung ein Feld aus der Abfrage verwendet ohne,
    dass es im Formular vorhanden ist und kein Fehler auftritt!
    Nicht schlecht zu wissen!
    Aber, in Grunde genommen ist es egal, ob ein Feld mehr oder weniger im Form ist, oder *wink.gif*
    Bei mir wird dieses Feld aber benötigt um nach der Eingabe von Feld ZeitBis nicht den DS zu verlassen.
    Ich habe es eben so gelöst... macht jeder wie er gerne möchte.

    Aber...
    1. wenn du jetzt einen Mitarbeiter auswählst bleibt der Fokus auf dem Kombifeld stehen, das gefällt mir nicht.
    Ich könnte zum Ufo wechseln, was mir auch nicht so richtig gefällt...
    wenn der Focus dann gleich auf den letzten DS gesetzt wird, eventuell.
    Aber, mich stört ein Feld mehr nicht. Ich verwende immer dieses Feld Dummy.
    Sehr praktisch ist es vor allen bei Buttons einzusetzen.
    Den Focus auf einem Button stehen lassen, geht für mich gar nicht.
    Was ist, wenn der User zufällig auf die Entertaste drückt und der Fokus steht auf einem Button...
    das kann unter Umständen ein Problem sein.

    2. gib jetzt, bei deiner Version, einen Datensatz ein und dann gleich darauf einen Nächsten,
    was ja bei einer solchen Eingabenvariante üblich ist. Mache User sehen dabei ev. gar nicht auf den Bildschirm,
    da sie ev. von einer Vorlage abschreiben.
    Da du ein Me.Requery eingesetzt hast, springt der Fokus gleich in den ersten Datensatz, das ist ein absolutes "Geht überhaupt nicht!".
    Der User würde sich freuen, wenn er gleich den ersten DS überschreibt, im schlimmsten Fall weiß er nicht mal mehr was da gestanden ist.
    Das bewirkt, dass Me.Requery, dass ich in solchen Situationen eben nicht verwende!

    3. was stört an ein wenig mehr Code und jede Fehleingabe wird sofort beim verlassen eines Feldes angezeigt?

    4. dass der Datensatz zuvor nicht als Fehler angezeigt wird, ist kein Problem.
    Das wird doch wohl klar sein, dass der eben eingegebene DS gegenüber dem vorherigen einen Fehler aufweist, dass ist zu kontrollieren...!
    Durch die Sortierung, natürlich nur Datum und Zeit, kann es der im Moment gültige oder der DS zuvor sein.
    Das kann man auch noch dokumentieren, wenn es unbedingt sein muss!

    Probleme die ich gefunden und gelöst habe sind, wenn Daten(Datum/Zeit) durcheinander eingegeben werden,
    Das führt dazu, dass der DS sortiert wird und ich ihn ev. suchen müsste*frown.gif*
    Der muss dann mitverfolgt werden, was iM schon funktioniert, allerdings mit Me.Recalc und die
    Aktualisierung von DatumVon und DatumBis habe ich ausfallen lassen!
    Oder, den Fehler abfangen, wenn man keinen Kunden eingegeben hat!
    Oder, wenn man Datum gleich wie der vorhergegangene DS und z.B. 2x die gleiche Beginnzeit hat. (jetzt auch gelöst!)

    Bin aber sicher, dass noch etwas gefunden wird, man muss halt testen und ausbessern *biggrin.gif*
    Ich wollte ja auch keine perfekte DB liefern, hauptsächlich die Idee der SQL!
    Das es dasschlumpf besser nachvollziehen kann, habe ich es eben in eine DB verpackt... da er ja auch gefragt hat... wo hin das Ganze!

    Sorry, aber diese Umgestaltung, war für mich nicht sehr überzeugend!

    Wünsche noch einen schönen Sonntag *Smilie
     
    Kyron9000, 15. August 2015
    #37
  8. Zeitraum ermitteln

    \@Alfred!

    Ich wollte keine endgültige Maximallösung verfassen.
    Dazu benötigt man eine intensivere Auseinandersetzung mit dem Gegenstand.
    Was ich lediglich zeigen wollte ist, daß eine Prüfung auch ohne die beiden Felder möglich ist.
    Was die ganze Diskussion aber ergeben hat ist, daß selbst eine ganz einfache Prüfung nach Datenerfassung so ihre Fußangeln haben kann.

    Meinen Ansatz habe ich im Anhang unter http://www.ms-office-forum.net/forum...7&postcount=30 gepostet.
    Du hast eine wirklich umfangreiche Erweiterung vorgenommen, die ich so nicht angedacht hatte.

    Danke jedenfalls für Deine Mitwirkung.

    Wolfgang
     
    wb_3001, 15. August 2015
    #38
  9. \@Wolfgang,

    ich auch nicht, aber wenn ich etwas beginne, komme ich meistens vom 100sten ins 1000sentse.

    Jeder Mensch ist anders gestrickt, manches mal denke ich mir für was das Alles eigentlich...
    ich weiß es aber, für Unterhaltung *Smilie

    Habe es heute noch mal getestet und noch vieles verändert.
    Die Ausführung ist komplizierter als ich am Anfang dachte.
    Aber, denke ich habe es jetzt (für mich) auf eine gute Schiene gebracht.

    Ich habe aber in Grunde genommen nicht so wirklich den kompletten Überblick, was gefordert wird *tongue.gif*
    Eine Idee schon... ob die so passt entzieht sich noch meiner Kenntnis *Smilie
    Für mich war nur das Thema interessant.
    ...war auch super, das kannte ich noch nicht, habe ich aber schon erwähnt.
     
    Kyron9000, 16. August 2015
    #39
  10. Nun habe ich mich endlich durch jeden Post durchgelesen.
    Erstaunlich welch ein Anreiz dieses Thema findet.
    Herzlichen Dank für die zahlreichen Antworten und den Diskussionsbedarf! *Smilie

    @Kyroon9000 Wenn ich das richtig verstanden habe, prüft die Abfrage bereits vorhandene Datensätze miteinander ab.
    Ist es auch möglich, einen noch nicht gespeicherten DS mit den vorhanden zu vergleichen?
    Das würde bedeuten der noch nicht gespeicherte DS in einem Formular, welchen der User gerade erstellt, wird mit den Datensätzen in einer Tabelle verglichen (z.B. nach Aktualisierung der Uhrzeit).

    Nichts desto trotz habe ich die SQL übernommen um zu sehen ob es bei mir funktionieren würde. Somit habe ich also zwei Datensätze so manipuliert, dass diese sich überlappen.
    In der Spalte Overlap hat sich dennoch nichts verändert.

    Zeitraum ermitteln zUwWlQf.jpg



    Im übrigen habe ich kein Feld/Spalte mit Datum_bis, dies wird anders gehandhabt.

    Gruß
    Schlumpf
     
    dasschlumpf, 16. August 2015
    #40
  11. Hallo Schlumpf.
    Und es gibt sicher keinen Zeitraum, der über Mitternacht bis in den nächsten Tag reicht?

    Hilfreich wäre jetzt, wenn Du diese Tabelle (es ist doch eine?) mit (anonymisierten) Daten hier einstellst.
    Dann kann man am Objekt eine Lösung suchen.

    @Alfred
    Ich habe es eigentlich angenommen, daß der gerade eingegebene Datensatz geprüft und im Überlappungsfall die Eingabe verhindert werden soll.

    Der TE soll zuerst ein Muster liefern, ehe man sich an eine Lösung macht. Dann kann er sie gleich weiter verwenden.

    Wolfgang
     
    wb_3001, 16. August 2015
    #41
  12. Sehr gerne.

    Anbei die DB.
    Zur Navigation:
    Im Formular "f_Service Eingabe" werden die Tätigkeiten jeweils eingetragen.
    Nach z.B. Aktualisierung des Uhrzeit_Von Feldes im Formular, soll geprüft werden, ob ein Eintrag in t_Service mit dem selben Kunden, Datum und einer überschneidenden Uhrzeit besteht.

    Gruß
    Schlumpf
     
    dasschlumpf, 16. August 2015
    #42
  13. Zeitraum ermitteln

    Hallo
    wie ich schon gesagt habe
    bei Felder Deinem Feld Uhr_Zeit bis musst Du mit Timevalue arbeiten
    wenn dieses Feld als Datie mit Format Zeit 24 definiert ist
    da wenn Datum ungefüllt 0 den das
    entspricht dem Datum : 30.12.1899 + Deine Zeit Eingabe
     
    Lanz Rudolf, 16. August 2015
    #43
  14. Glaube das ist 5 Nummern zu hoch für mich, das was du schreibst verstehe ich nicht *frown.gif*.
     
    dasschlumpf, 16. August 2015
    #44
  15. Hallo,

    wenn du kein Datum_bis hast verwendest eben 2x dein Datumsfeld Datum_time.
    Dann gibt es bei dir anscheinend keinen Datumsprung.
    Es braucht noch ein Feld in der Abfrage, wenn für einen Tag, gleicher Mitarbeiter
    Beginnzeit gleich ist.
    Ich bin mit meiner BDB soweit fertig, dass sie funktioniert *Smilie
    Habe sie aber jetzt nicht griffbereit.
    Wie sieht der SQL-Code deiner Abfrage aus?

    PS: habe mir jetzt deine DB angesehen... du hast ja Unmengen von Zeitüberschneidungen???!
    Wieso für einen MA...
    Code:
    und das ist nur ein kl. Auszug... was möchtest denn dabei prüfen?
     
    Kyron9000, 16. August 2015
    #45
Thema:

Zeitraum ermitteln

Die Seite wird geladen...
  1. Zeitraum ermitteln - Similar Threads - Zeitraum ermitteln

  2. Zeitdifferenz in Monaten wenn Zeitraum...

    in Microsoft Excel Hilfe
    Zeitdifferenz in Monaten wenn Zeitraum...: Moin zusammen, ich habe hier eine etwas knifflige Aufgabe und komme im Moment nicht auf die richtige Formel. Vielleicht kann mir jemand helfen. Ich habe eine Tabelle mit einem Anfangsdatum, einen...
  3. 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...
  4. 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...
  5. 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...
  6. 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 (...
  7. Zusammenhängende Zeiträume in einer Spalte erkennen und Start- sowie Enddatum ermitteln

    in Microsoft Excel Hilfe
    Zusammenhängende Zeiträume in einer Spalte erkennen und Start- sowie Enddatum ermitteln: Hallo zusammen, irgendwie komme ich einfach mit meinem Problem nicht weiter und hoffe sehr auf Eure Hilfe! Ich habe eine Personaldatei, in der je Zeile ein Urlaubstag steht. Die ersten Spalten...
  8. Aufträge in Zeiträumen ermitteln

    in Microsoft Excel Hilfe
    Aufträge in Zeiträumen ermitteln: Hallo, ich würde gerne wissen, wieviele Aufräge ich von 09:00 bis 12:00 (Doppelpunkt beachten, so habe ich die Daten erfasst), von 12:00 bis 15:00 und von 15:00 bis 18:00 bearbeitet werden...
  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