November 25, 2020, 06:06:31

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Ufo auf Hafo mit Wert aus Textfeld ändern

Begonnen von MaxSeven1, November 05, 2020, 01:49:17

⏪ vorheriges - nächstes ⏩

MaxSeven1

Okay ich versuche es mal zu ordnen:

Ich habe Tabelle 1 = Datum - OffenVon - OffenBis - Schema - (berechnet Anfang) - ( berechnet Ende )
                   12.03.2020  08:00      20:00      A           08:20                16:40
                   13.03.2020  09:00      17:00      D           09:40                15:40

Daraus habe ich mein Hauptformular erstellt.

Die Schema sind in Tabelle 2 =  SchemaID - Schema - UhrzeitBeginn
                                   1         A           09:00
                                   2         A           10:20
                                   ...       ...          ....
für Schema A 13 Startzeiten        13        A            12:20
(Der Tag im Schema sieht so aus: in der Zeile 1 = 09:00 / 10:20 / 11:40 / 13:00...
                                         Zeile 2 = 09:20/ 10:40 / 13:00 / 14:20...
                                         Zeile 3 = 09:40 / 11:00 / 12:20/ )

                                   14        D             09:20
                                   15        D             10:40
                                   ...       ..             ....
Es gibt insgesamt 5 Schema von A - F mit je 8 bis 45 Startzeiten. Diese habe ich mit einer Abfrage sortiert und als ufo1 über Schema/Schema auf dem Hauptformular verknüpft. Jeder Tage ein anderes Schema zeigt er mir ordentlich an. Mal 8 Zeiten(DS) mal 13, mal 21 usw.

Jetzt kommt Tabelle 3 (Endlos) Hier werden den Zeiten Mitarbeiter und Aufgaben zugewiesen.
                            AufgabenID - Datum - Startzeit - Aufgabe(Kombifeld) - Mitarbeiter - Hilfszeit
                                  1      12.03.2020   08:20          Aufgabe1           72        09:00
                                  2      12.03.2020   09:40          Aufgabe1           72        10:20
                                  3      12.03.2020   11:00          Aufgabe2           72        11:40
                                  4      12.03.2020   08:40          Aufgabe1           65        09:20
                                  5      12.03.2020   10:00          Aufgabe5           65        10:40
                                  ...       ...         ...           ...               ...
Die ist als ufo2 über Datum/Datum auf dem Hauptformular - funktioniert gut wenn ich z.B. manuell aus dem ufo1 die Zeiten kopiere und dann ins ufo2 in die Hilfszeit kopiere.

Tabelle 4 zeigt mir die Zeiten der Mitarbeiter an:
                          MitarbeiterMonatID - Datum -     von -   bis
                                   72        12.03.2020    09:00   13:00
                                   ...         ...          ...     ...
                                   für jeden Tag im Monat eine andere Zeit,
                                          aber eben nur für 10 - 22 Tage
                                               im Monat
das ist als ufo3 auf dem HF.(alles Datenblattansichten) und über Datum/Datum verknüpft. So sehe ich von 30 Mitarbeitern, wer an welchem Tag von wann bis wann da ist.

Problem 1: Wenn ich die Uhrzeiten aus Schema (ufo1 ) in die Hilfszeiten von (ufo2 ) kopiert habe, muss ich die niedrigste Startzeit ( irgendwo als 4. oder 2. oder 9. Datensatz ) ermitteln, die Differenz zur berechneten Anfangszeit aus Tabelle 1 errechnen, diese addieren oder subtrahieren zu den kopierten Zeiten die schon in ufo2 als Hilfszeit stehen und diese als neuen Wert im ufo2 Startzeit eintragen. Gibt es Zeiten die weniger als 1h und 20 Minuten vor der berechneten Endzeit aus Tabelle 1 liegen, können diese DS in ufo2 gelöscht werden.

Problem 2: Ein Mitarbeiter darf am Tag 3 maximal 4 hintereinander liegende Aufgaben übernehmen und im Monat nicht mehr als 22 Tage arbeiten. Es müssen 2 Wochenenden gearbeitet werden, wobei es egal ist ob 2 x SA und SO oder 2 x SO's und 2 x SA's. Nicht alle Mitarbeiter können am WE arbeiten. Wichtig ist in Tabelle XY sind zum Mitarbeiter die maximale Stundenzahl hinterlegt und ob er 3 oder 4 Aufgaben machen möchte. (Aufgabe 60 Minuten) nach Möglichkeit sollen alle Arbeiter die gleiche Prozentzahl ihres Stundenziels erreichen.

Dadurch das ich die Arbeit meines Vorgängers aus über 30 Exceltabellen einen Plan zu erstellen von 4 Tagen auf 4h reduziert habe, habe ich schon ein grosses Plus und bin mit meinem Formular sehr zufrieden.
Aus den 8 - 45 Augaben am Tag ergeben sich zwischen 240 und 1395 Aufgaben im Monat, da hilft mir alles was ich nicht von Hand machen muss. Problem 1 mit den Zeiten soll der Anfang sein. Die Mitarbeiter zu verteilen wird nochmal ein anderes. Einige wollen 3 Tage arbeiten, einen Tag frei. Andere können nur Mi, FR und SO oder klassisch 5 und 2 mancher kommt auch nur am WE. Die Traumlösung: btnPlan übernimmt per VBA
Zumindest das Kopieren und umrechnen der Zeiten.

Ich hoffe so ist es verständlicher

Danke

ebs17

Problem 1: Das könnte und würde man unmittelbar mit Abfragen lösen, statt Daten in Formularen hin- und herzuschubsen. Formulare dienen dann eher der Darstellung der Daten und zur Bereitstellung der Steuerung durch den User.

Beginnen würde man mit einer brauchbaren Modellierung der Daten/Tabellen. Aussagekräftiger als Deine Beschreibungen wäre gleich eine Demo-DB mit Datenmodell (verwertbares Beziehungsfenster) und den beteiligten Tabellen mit einigen aussagefähigen beispielhaften (anonymisierten) Daten.

Problem 2 wird sicher auch zu einem hohen Anteil schon per Abfragen lösbar sein. Dazu müssten aber zusätzlich in Tabellen jene Regeln fixiert sein, ob, wann, wie oft ein Mitarbeiter kann. Das ist eine ambitioniertere Aufgabe.

ZitatDie Traumlösung: btnPlan übernimmt per VBA
Was sonst?
Mit freundlichem Glück Auf!

Eberhard

MaxSeven1

Würde dir eine Kopie mit entfremdeten Daten geben können. Bloss wie?

ebs17

Datenbank von unnötigem Ballast befreien (nicht dass man die problemtragenden Objekte erst im ganzen Haufen suchen muss), komprimieren, danach ZIP-Archiv erstellen und dieses im Forum als Anhang hochladen => Attachment and other options

Zitatdir ... geben
Persönliche Exklusivität wird sehr schnell mit einer finanziellen Erwartung in Gegenrichtung verbunden werden.
Mit freundlichem Glück Auf!

Eberhard

MaxSeven1


ebs17

Wenn Du auf eine Reaktion von mir wartest: Meine Accessversion (2010) ist zu veraltet, um diese DB zu öffnen.
Herunterkonvertieren könnte helfen.

Das passiert mir übrigens mit dem Format ACCDB zum ersten Mal. Was sind denn da für unverzichtbare neue Features verbaut?
Mit freundlichem Glück Auf!

Eberhard

DF6GL

Hallo,

es gibt berechnete Felder in den Tabellen.

Zudem

Datentyp Dezimal mit 18 Stellen Genauigkeit für Berechnung von Zeiten.

Sonder- und Leerzeichen in Tabellenfeldnamen.

Unklare Beziehungen über Abfragen.


Im Anhang eine (von A2019) konvertierte accdb- und eine mdb-Datei. In der mdb sind dabei die Formulare nicht konvertiert worden.

MaxSeven1

November 09, 2020, 02:11:26 #7 Letzte Bearbeitung: November 11, 2020, 15:26:40 von MaxSeven1
sag Danke und Thema gelöst