StoppUhr von Willi Wipp

Moderator: ModerationP

StoppUhr von Willi Wipp

Beitragvon Thelonlius » 22. Aug 2019, 16:16

Hallo zusammen,

eigentlich hat mir die Suchfunktion, und die vielen tollen Antworten auf Probleme immer super geholfen. Leider komme
ich mit einem aktuellem Problem nicht so recht weiter, und möchte (wenn möglich) um Hilfe bitten.
Meine VBA Kenntnisse beziehen sich auf einige kleinere Sachen und anpassen von Source Code für die eigene DB.

Im Moment versuche ich eine DB für eine OEE Erfassung aufzubauen. Ein wichtiger Bestandteil ist die Zeit Erfassung zu einzelnen
Prozessschritten je Anlage. Beispiel:

Der Mitarbeiter Rüstet eine Anlage: Stoppuhr "Start" - Rüsten beendet "Stopp" - Zeit mit Auftragsdaten in Tabelle speichern, damit diese
dann später Summiert und ausgewertet werden können. Die Prozess Unterbrechungen werden vorher festgelegt, und bekommen einen eigenen "Button" (Stoppuhr Zähler)
(z.B.: 1 - Rüsten | 2 - Defekt | 3 - Pause ... usw.)

Bei der Suche nach einer Stoppuhr Lösung bin ich im alten Board auf die Stoppuhr von Willi Wipp gestoßen (Danke an Willi - Toll gemacht!)
Link: http://www.office-loesung.de/ftopic436888_0_0_asc.php

Diese hab ich bereits eingebunden, und auf 11 Stoppuhren erweitert (11 Gründe für eine Prozessunterbrechung).
NUR: - Wie speichere ich die Daten ab? Alle Zeiten werden als Loop in einem Bezeichnungsfeld angezeigt, wie kann ich mit einem "Speicher-Button" die Zeiten je
Prozessunterbrechung in ein dazugehöriges Tabellen Feld schreiben?



Die Stoppuhren gehen von 1 bis 11
Die Button ebenfalls von 1 bis 11 (Name auf Button = Prozessabweichung)
In der Tabelle reicht mir ebenfalls ein 1 bis 11 (Verknüpfe ich mit eindeutigen Auftragsdaten und benenne sie später in einer Abfrage.)

So - Sorry, viel Text! Hoffentlich einiger Maßen verständlich beschrieben.

Jetzt schon mal vielen Dank für die Unterstützung - Würde mich über Hilfe sehr sehr freuen!
Gruß - Thomas
Thelonlius
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 5
Registriert: 19. Aug 2019, 19:06

Re: StoppUhr von Willi Wipp

Beitragvon Gast » 22. Aug 2019, 17:42

Hallo,
Du solltest dann schon Deine DB als Demo mit Musterdaten zur Verfügung stellen und die Uhr im alten Forum kann nicht mehr heruntergeladen werden..
Gast
 

Re: StoppUhr von Willi Wipp

Beitragvon KlausMz » 22. Aug 2019, 17:59

Hallo,
Diese hab ich bereits eingebunden, und auf 11 Stoppuhren erweitert (11 Gründe für eine Prozessunterbrechung).
Da würde ich schon mal am Datenmodell zweifeln. Das das nicht richtig ist, merkst Du auch daran, dass ein 12. Grund (sag niemals nie) für eine Prozessunterbrechung einem Umbau der Objekte erforderlich macht. Alless muss angepasst werden.
Die Prozessunterbrechungen sind als je ein Datensatz in einer exztra Tabelle zu erfassen. Damit wird immer nur eine Stoppuhr benötigt, egal wie viel Arten Prozessunterbrechungen es gibt.
Auch die möglichen Prozessunterbrechungen sind als Tabelle mit je einem Datensatz anzulegen.
Das Ganze nennt sich dann n:m Beziehung.
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Benutzeravatar
KlausMz
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 39036
Registriert: 06. Okt 2003, 15:09
Wohnort: Irgendwo in der Pfalz

Re: StoppUhr von Willi Wipp

Beitragvon derArb » 22. Aug 2019, 19:17

Hallo,
anbei zur Diskussion die originale Demo-DB von WilliWipp aus dem alten Office-Forum.
Ich hatte sie damals mal vorsorglich für mich downloaded (neuhochdeutsch).
WilliWipp hat sich anscheinend (nicht scheinbar [man lerne endlich mal den Unterschied])
aus dem Forum zurückgezogen.
Es gibt aber auch Demo-DB's von z.B. Josef Pötzl, wovon ich eine als Beispiel mal hier anbiete.
Wenn "Josef P" identisch "Josef Pötzl" ist, dann kannst Du ja möglicherweise noch aktive Unterstützung
bei ihm finden.
Diese Problematik muss natürlich vor dem Erstellen eines Datenbankmodells so gelöst sein, dass sie,
wo auch immer der Einsatz stattfindet, keine zusätzliche Belastung dahingehend mehr beinhaltet.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
derArb
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 14370
Registriert: 19. Apr 2006, 18:39
Wohnort: Berlin

Re: StoppUhr von Willi Wipp

Beitragvon Bitsqueezer » 23. Aug 2019, 13:54

Hallo,

den Bemerkungen von Klaus zum Datenmodell schließe ich mich an.

Was die beiden Demo-Datenbanken der Stoppuhren angeht: Beide verwenden die Events des Buttons falsch.
Einfach mal den Button klicken und festhalten und dann loslassen. Die Zeit läuft im Hintergrund weiter und wird erst beim Loslassen der Maustaste gestoppt - so wird das niemand korrekt verwenden können. Die Zeit muß bereits bei MouseDown gestoppt werden.

Gruß

Christian
Bitsqueezer
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 7032
Registriert: 21. Jun 2007, 12:17

Re: StoppUhr von Willi Wipp

Beitragvon Thelonlius » 23. Aug 2019, 18:44

Hallo,

vielen Dank für die Hinweise und Anregungen.

Der Hinweis von Klaus ist natürlich richtig! - Würde ich es perfekt anstreben (was ich zur Zeit sicherlich noch nicht kann) sollte ich es über die n:m Notation anstreben.
Christian hat ein scharfes Auge, die Auswertungen werden später in Minuten stattfinden, daher würde ich über die Events hinwegsehen :)

Eine Demo DB wäre sicherlich am sinnvollsten, da ich sehr weit von "annähernd mittelmäßig" entfernt bin möchte ich euch diesen Schmerz noch nicht antun :)

Nun muss ich erstmal über Klaus seinen Vorschlag grübeln, wie ich dieses umsetze, denn selbst wenn ich später (und es wird sicher passieren) noch Gründe hinzufüge,
muss ich an der DB "nacharbeiten". (Tabellen, Abfragen, Berichte...)

Auch wenn ich Willi sein Einzel Stoppuhr Modell einbinde, muss ich die Daten in eine/mehrere Tabelle/n schreiben. - Immer noch ein kleines Problem :)

Erstmal besten Dank - Schönes Wochenende
Thomas
Thelonlius
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 5
Registriert: 19. Aug 2019, 19:06

Re: StoppUhr von Willi Wipp

Beitragvon KlausMz » 23. Aug 2019, 19:14

Hallo,
muss ich an der DB "nacharbeiten". (Tabellen, Abfragen, Berichte...)
Nein, bei korrektem Aufbau muss nach dem Hinzufügen von Gründen nichts angepasst werden. Ein neuer Grund ist einfach ein neuer Datensatz, fertig.

Die Stoppuhrdaten müssen in eine Tabelle, wie kommst Du auf mehere Tabellen ?
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Benutzeravatar
KlausMz
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 39036
Registriert: 06. Okt 2003, 15:09
Wohnort: Irgendwo in der Pfalz

Re: StoppUhr von Willi Wipp

Beitragvon Gast » 23. Aug 2019, 19:41

In Pötzls Demo für mehrere Stoppuhren ginge das ungefähr so (Christians Hinweise bezüglich Clickereignis berücksichtigend):

Code: Alles auswählen
Private Sub btnStop_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    objStoppUhr(Me!CurrentWatch.Value).StopT
    Me.TimerInterval = 0
    RefreshTimeString
    Debug.Print objStoppUhr(Me!CurrentWatch.Value).TimeString("hh:nn:ss", conTimerDigits) & "-- Stoppuhr: " & Me!CurrentWatch.Value
End Sub


Was im Debug steht, musst Du nun in eine Tabelle mit 3 Feldern bei diesem Ereignis insertieren. Entweder über SQL oder über Recordsets.
tbl_StoppZeiten
StoppZeitID (Autowert)
StoppZeit (Datum/Uhrzeit)
StoppUhr (Zahl, integer)
Gast
 

Re: StoppUhr von Willi Wipp

Beitragvon Thelonlius » 23. Aug 2019, 19:50

… Die Prozessunterbrechungen sind als je ein Datensatz in einer exztra Tabelle zu erfassen...

Hatte ich so verstanden. (und mich gewundert) - Extra Tabelle für jede Prozessunterbrechung ?!

Denn ich möchte alle Datensätze (Abweichungen die ich vorher festlege) die anfallen, in eine Tabelle schreiben (Abweichung Nr. 1 | 30 min usw.). Eine weitere Tabelle (von mehreren Tabellen) enthält die
Auftragsdaten, eine Weitere die Maschinen (Mehrere Maschinen die aber die selbe Tätigkeit ausführen...). Beziehungen aufbauen, fertig :-)

Problem immer noch - Wie speichere ich Willis StopUhren :) -> Button (klick) Zeit gespeichert. Wenn später am Tag noch mal ein Rüsten kommt -> (klick) Zeit gespeichert. -> In Abfrage summieren... usw.


Man(n) sieht, ich bin kein Profi :oops:
Gruß
Thomas
Thelonlius
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 5
Registriert: 19. Aug 2019, 19:06

Re: StoppUhr von Willi Wipp

Beitragvon KlausMz » 23. Aug 2019, 21:58

Hallo,
Hatte ich so verstanden. (und mich gewundert) - Extra Tabelle für jede Prozessunterbrechung ?!

Ein Datensatz in einer extra Tabelle. Wo habe ich was geschrieben von einer Tabelle für jede Prozessunterbrechung.
Das hast Du nicht richtig verstanden.

Du brauchst dazu folgende Tabellen:
- Tabelle für die Maschinen
- Tabelle für die Unterbrechungsgründe
- Tabelle zur Erfassung der Gründe zur Maschine

In die letzte Tabelle kommt ein Fremdschlüssel zur Maschine, ein FS zum Grund sowie das Datum und die gestoppten Zeiten. Ggf noch der Name des Mitarbeiters (bzw. dessen PS als FS).
Und nur da brauchst Du eine Stoppuhr.
Kommt ein neuer Grund dazu, ist das einfach nur ein neuer Eintrag (Datensatz) in der Tabelle für die Gründe.
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Benutzeravatar
KlausMz
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 39036
Registriert: 06. Okt 2003, 15:09
Wohnort: Irgendwo in der Pfalz

Re: StoppUhr von Willi Wipp

Beitragvon derArb » 24. Aug 2019, 09:19

Hallo,
ich hab mal die meiner Meinung nach geeignetere Pötzl Demo-DB um eine Speicherung erweitert.
Dazu muss man die gezeigte Debug.Print Zeile in ein SQL-INSERT Statement wandeln.
Das natürlich in getrennte Tabellen.

Einfach Uhr:
Code: Alles auswählen
Private Sub btnStop_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  objStoppUhr.StopT
  Me.TimerInterval = 0
  RefreshTimeString
 
  Dim strSQL As String
  strSQL = " Insert into tbl_StoppUhr_einzeln (Stoppzeit, StoppUhrNr) values('" & _
             objStoppUhr.TimeString("hh:nn:ss", conTimerDigits) & "'" & ",1)"
  CurrentDb.Execute strSQL, 128
End Sub


Mehrfach Stoppuhr:
Code: Alles auswählen
Private Sub btnStop_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  objStoppUhr(Me!CurrentWatch.Value).StopT
  Me.TimerInterval = 0
  RefreshTimeString
 
  Dim strSQL As String
  strSQL = "Insert into tbl_StoppUhr_mehrfach (Stoppzeit, StoppUhrNr) " & _
           "values('" & objStoppUhr(Me!CurrentWatch.Value).TimeString("hh:nn:ss", conTimerDigits) & "'" & _
           "," & Me!CurrentWatch.Value & ")"
  CurrentDb.Execute strSQL, 128
End Sub


Die gestoppten Zeiten werden als String abgelegt, was bei späteren Auswertungen zusätzlichen Aufwand ergeben wird.
die modifizierte DB hat nun das accdb Format.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
derArb
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 14370
Registriert: 19. Apr 2006, 18:39
Wohnort: Berlin

Re: StoppUhr von Willi Wipp

Beitragvon Thelonlius » 25. Aug 2019, 11:36

Hallo alle zusammen,

vielen Dank an alle für die vielen Antworten und Lösungsansätze!

@Klaus,
ja, entschuldige, hatte Dich falsch verstanden. Genau so mit FS uns ID's sind die Tabellen bereits aufgebaut. - Danke Dir!

@derArb,
herzliches Dankeschön für den modifizierten Source Code. Ich mach mir jetzt einen Kaffee und setze mich gleich daran alles einzubauen.
Eine Rückinfo kommt! - Versprochen.

Euch allen einen schönen Sonntag - Beste Grüße aus Niedersachsen,
Thomas
Thelonlius
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 5
Registriert: 19. Aug 2019, 19:06

Re: StoppUhr von Willi Wipp

Beitragvon Gast » 25. Aug 2019, 14:18

Hallo!

Warum stoppst du die eigentlich die Laufzeiten mit einer Stopuhr?
Wäre es nicht einfacher/sicherer die Startzeit und die Endzeit zu speichern? Dann kann auch zwischendurch die Anwendung ausfallen (z. B. irrtümliches Schließen). Sobald die Startzeit gespeichert ist, muss nichts nebenbei laufen, da mit dem späteren Speichern der Endzeit die Laufzeit festgelegt ist.

mfg
Josef
Gast
 

Re: StoppUhr von Willi Wipp

Beitragvon KlausMz » 25. Aug 2019, 17:16

Hallo,
Genau so mit FS uns ID's sind die Tabellen bereits aufgebaut. - Danke Dir!
Das glaube ich nicht, dass die Tabellen richtig aufgebaut sind, sonst würdest Du keine 9 Stoppuhren brauchen.
Zeige mal ein Bild des Beziehungsfensters.
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Benutzeravatar
KlausMz
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 39036
Registriert: 06. Okt 2003, 15:09
Wohnort: Irgendwo in der Pfalz

Re: StoppUhr von Willi Wipp

Beitragvon Thelonlius » 25. Aug 2019, 18:43

Gast hat geschrieben:Hallo!

Warum stoppst du die eigentlich die Laufzeiten mit einer Stopuhr?
Wäre es nicht einfacher/sicherer die Startzeit und die Endzeit zu speichern? Dann kann auch zwischendurch die Anwendung ausfallen (z. B. irrtümliches Schließen). Sobald die Startzeit gespeichert ist, muss nichts nebenbei laufen, da mit dem späteren Speichern der Endzeit die Laufzeit festgelegt ist.

mfg
Josef



Hallo Josef,
ich wollte für den Benutzer etwas "Sichtbares" haben. Damit der Bediener sieht, dass er die aktuelle Tätigkeit stoppt.

Gruß
Thomas
Thelonlius
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 5
Registriert: 19. Aug 2019, 19:06


Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste