Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Mitarbeiter Zeiterfassung mit Zeitstempel

Begonnen von Patrick_82, Januar 29, 2020, 10:58:19

⏪ vorheriges - nächstes ⏩

Patrick_82

ja die habe ich eben angesehen und da kann man leider auch nur einen Arbeiter pro Auftrag abstempeln, leider. Ansonsten schöne Sache!!!!

Danke schonmal für euere Mühe !!!

DF6GL

Hallo,

irgendwie stimmt was nicht.. Siehe Bilder. 
Da arbeitet Mitarbeiter  5  am Auftrag 19100 mit 3 an/abgestempelten Zeiten und MA 2 am selben Auftrag mit einer (anderen) Zeit.
(in der hochgeladenen DB gibt es andere Daten!)

Vielleicht liegt es an der Access _Version  (A2019).

Kompiliert die DB im VBA-Editor.....

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Patrick_82

Ja ich habe A2019 . und ich kann leider nur einen MA auf einen Auftrag stempeln. will ich einen zweiten hinzu fügen, kommt die Messagebox abstempeln nicht möglich

Hondo

Hallo,
nein es funktioniert nicht.
Wenn Mitarbeiter 2 den Auftrag anstempelt muss ein neuer DS geschrieben werden.
Und solange Mitarbeiter 2 nicht angestempelt hat darf er auch nicht ausstempeln.
Aber davon abgesehen, wer bedient denn das Formular? Das ist doch der Mitarbeiter selbst.
Dann sehe ich es sehr kritisch dass der Mitarbeiter seine MitarbeiterID aussuchen darf. Fehleingaben sind da Vorprogrammiert.
Ebenso ein Mitarbeiter der ein Auftrag ausstempeln möchte. Warum sollte der die AuftragsID heraussuchen dürfen bzw. frei wählen? Er hat gefälligst den auszustempeln der vorher von ihm selbst angestempelt wurde, und kein anderer.

Aber das sind nur so ein paar dumme Gedanken von einem der sowas mal studiert hat.
Gruß Andreas

Patrick_82

Andreas, stimmt. Deswegen habe ich ja diese Maske erstellt und wollte diese den Mitarbeiter zur verfügung stellen. Ich wollte damit auch erreichen das man wirklich seine Personal Id und den Auftrag eingeben muss und nicht im drop down Menü frei wählen kann.

Andreas, ich bin eben gerade drüber deine geschickte Db zu testen. Wollte mein Formular einfügen und es mit deiner tbl verbinden. Hab auch nochmal die Personal- und Auftragstabelle erstellt, so wie du mir es vorhin geschrieben hast. Aber leider bekomme ich auch die Messagebox "Fehler beim Aufstempeln " was mach ich falsch ?

Patrick_82

Andreas, du kannst ja hier mal schauen. ich hab dir mal eine Test db geschickt.

Nur noch als Randbemerkung : Die Tabelle Auftrag füttere ich logischerweise immer mit den anstehenden Aufträgen bevor der Mitarbeiter ihn bearbeitet und die Personaldatenbank auch .

Hondo

Funktioniert doch?
Man kann halt nicht ausstempeln ehe man eingestempelt hat.
Daher sollte man das automatisieren wie in meinem Beispiel geschehen.
Gruß Andreas

DF6GL

Hallo,

naja.. die Db ist ja im Rohzustand.  Berechtigungen sind nicht berücksichtigt und es geht ja erst mal um die Funktionalität

ZitatWenn Mitarbeiter 2 den Auftrag anstempelt muss ein neuer DS geschrieben werden.
Genau das tut der Anstempelbutton.

ZitatUnd solange Mitarbeiter 2 nicht angestempelt hat darf er auch nicht ausstempeln.
Genau das tut der Anstempelbutton

ZitatAber davon abgesehen, wer bedient denn das Formular? Das ist doch der Mitarbeiter selbst.
Das ist nicht definiert worden und ist lediglich eine Frage der Ablaufsteuerung.

ZitatDann sehe ich es sehr kritisch dass der Mitarbeiter seine MitarbeiterID aussuchen darf. Fehleingaben sind da Vorprogrammiert.

Wenn man das steuern will, braucht es eine Benutzersteuerung, an Hand derer sich der aktuelle Nutzer authentifiziert und damit seine Personalnummer bekannt wird.  (Auch nicht Bestandteil der Anfangs-Bedingungen)


ZitatEbenso ein Mitarbeiter der ein Auftrag ausstempeln möchte. Warum sollte der die AuftragsID heraussuchen dürfen bzw. frei wählen? Er hat gefälligst den auszustempeln der vorher von ihm selbst angestempelt wurde, und kein anderer.

Nochmal: das ist eine Anforderung an die Ablaufsteuerung und hat nichts mit der Funktionalität zu tun. Wenn ein User seine Zeiten eintragen soll, dann wird ihm das Frm_AuftragPersonal so vorgesetzt, dass es schon mit seiner Personalnummer vorgefiltert wird und er nur den betreffenden Auftrag suchen (!) muß. D. h. ja nicht, den gespeicherten Auftrag über das Kombi "Auftrag" zu ändern.
Das Form (oder ein gleiches zusätzliches) muss so eingestellt werden, dass es dem User nur möglich ist, den betreffenden Auftrag auszuwählen (z. B. über ein zusätzliches, ungebundenes Kombi im Formularkopf) und die Buttons zu klicken.

Das alles ist  eine Frage des Bediener- und Berechtigungskonzeptes und hat nichts mit der DB-Funktion an sich zu tun.

Mich wundert nur, dass die DB sich bei Euch  scheinbar ganz anders verhält als bei mir.

Mir geht (ging) es darum eine Tabellenkonstruktion zu zeigen, mit der Arbeitszeit-Bereiche registriert werden können, die von mehreren Mitarbeitern an verschiedenen Aufträgen geleistet werden. Die Formulare haben bist auf die beiden Buttons keine besonderen Ablaufsteuerungen.  Wenn  Layoutänderungen oder weitere Bedingungen an die Forms gestellt werden, sind diese halt einzubauen.  Die Aufgabe war ja nicht, die Benutzersteuerung zu erfinden, sondern die Möglichkeit der Zeiterfassung zu realisieren.

Habe jetzt die DB und ein paar Screenshot hochgeladen.

Mich würde interessieren, ob die DB wie von mir gezeigt funktioniert oder nicht.




 
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Hondo

Franz, das funktioniert nicht.
Auftrag 19100, Mitarbeiter 1 -> anstempeln
Auftrag 19100, Mitarbeiter 2 -> anstempeln -> Fehlermeldung geht nicht.

Auftrag 19100, Mitarbeiter 1 -> anstempeln
Auftrag 19100, Mitarbeiter 5 -> abstempeln -> das dürfte nicht möglich sein da Mitarbeiter 5 nicht angestempelt hat.

Gruß Andreas

Patrick_82

Franz, ja die db funktioniert soweit. Das heisst ich kann immer einen MA Einstempeln dann ausstempeln und den nächsten wieder ein und ausstempeln. Aber 2 oder 3 MA das geht nicht.

Patrick_82

Ja Andreas, ich kann jetzt in meinem Terminalfenster den Auftrag scheinbar anstempeln. Also das Fenster leert sich zu mindest ohne Fehlermeldung . Einen DS kann ich aber nicht finden. Und wenn ich die gleiche Auftragsnummer versuche auszustempeln, dann kommt die Messagebox aber ein DS wird nicht gespeichert .

Patrick_82

Franz, du hast recht es soll nicht die Benutzersteuerung, ich sag mal erfunden werden. Es geht mir in erster Linie um die Funktionalität der kleinen Zeiterfassung. Ja und ein einfaches Anmeldeformular hab ich ja bereits in den Letzen Upload mit eingefügt. Dieses Anmeldefenster habe ich auch schon mit meinen Mitarbeitern besprochen. Sowohl sie, als auch ich fanden das für sehr gut und unkompliziert. Und ich denke, wir bekommen die db auf jeden fall zum laufen . ;)

DF6GL

Hallo

@Andreas:

Ich denke , Du machst einen Bedienungsfehler.

"Wählt" Du den MA über das Kombi "Mitarbeiter" aus?

Das wäre falsch und würde diesen Mitarbeiter zum Auftrag ändern(!)  und damit auch die Arbeitszeit-Zuordnungen zerstören...

Positioniere(!) auf die einzelnen Datensätze des HFO (Zuordnung der MAs zu den Aufträgen)  mit Hilfe der unten stehenden Navigationsleiste...

Wie schon gesagt,  eine Suchfunktion für einen Mitarbeiter an einem Auftrag ist NICHT eingebaut.

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Hondo

OK, bin hier mal raus. Solltest genügend Input zum bauen jetzt haben.

Doch nur noch eines:
Nicht denken was möglich ist sondern denken was sinnvoll ist und wie die späteren Abläufe sein werden. Wenn du dir darüber nicht im klaren bist brauchst du erst gar nicht Access aufzumachen und daran zu arbeiten.

So müsste es später ablaufen:
Der Mitarbeiter meldet sich an und stempelt dann einen Auftrag XY an. Damit hat sich für ihn bis zum ausstempeln die Datenbank erledigt! Was braucht der Mitarbeiter wissen wie lange wer wo arbeitete?
Bin ich Mitarbeiter gehe ich an ein Terminal, ziehe meine Karte durch zum authentifizieren und gebe eine Auftragsnummer ein und fertig. Danach schließt sich die Anwendung und der Mitarbeiter geht an sein Arbeitsplatz.

So müsste die Anwendung funktionieren, und nicht so ein Schicky-Micky mit Unterformular etc. Das braucht doch niemand außer selbstverliebte Programmierer für ihr ego.

So, habe jetzt eigentlich mehr geschrieben als ich wollte, ist mir auch egal.
So long
Andreas

Patrick_82

ja, vielen dank für deine Hilfe

Gruss

Patrick