Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Ericolum am Januar 08, 2016, 14:19:34

Titel: Stückzähler in Formular
Beitrag von: Ericolum am Januar 08, 2016, 14:19:34
Hallo Leute,

hier meine Frage bei der ich eure Hilfe brauche, ich habe noch nichts richtiges im Netz gefunden.

Ich benötige einen Zähler der den Zahlenwert in ein Textfeld übergibt. Dieser Zähler wird +1 hochgezählt in dem man im Formular eine Funktion anstößt (Speichern Button). Das Formular bleibt im Prinzip permanent geöffnet und der Zähler wird nur einmal zum Schichtende auf 0 gesetzt (bzw. Reset Button). Der Zählwert soll aber bevor er auf 0 gesetzt wird in eine Tabelle übertragen werden.

Im Prinzip:

Zählwert 1
Zählwert 2
Zählwert 3
Zählwert 4
Resetbutton
4 wird mit Zeit und Datum in Tabelle übertragen
Zählwert 0

Wie setze ich den Zähler um und wie könnte das mit dem Übertragen in die Tabelle funktionieren? 
Titel: Re: Stückzähler in Formular
Beitrag von: MzKlMu am Januar 08, 2016, 14:28:19
Hallo,
wie und wann wird denn der Zähler hochgezählt, bzw. wann wir die Funktion angestoßen? Und was hat das mit dem Speichern zu tun?

Kannst Du mal was zum Hintergrund des Vorhabens sagen ?
Titel: Re: Stückzähler in Formular
Beitrag von: Ericolum am Januar 08, 2016, 16:08:36
Funktion:
Es wird ein Teil auf einer Maschine gefertigt, jedes gefertigte Teil soll zwecks Rückverfolgbarkeit in eine Maske eingetragen werden. Dies passiert über DMC-Codes an den Teilen, der Vorrichtung und der Maschine. Sind alle Felder gefüllt wird ein "Speichern"Button gedrückt. Man könnte ihn auch "Neues Teil" nennen. 

Zum Zähler:
Der Zähler soll über den "Speichern" Button angestoßen werden. Wenn man diesen Button drückt (Touchscreen) werden alle anderen Felder leer gemacht und der Zähler wird um +1 hochgezählt, somit kann über 1 Schicht die Stückzahl ausgegeben werden. Wenn die nächste Schichtbesatzung kommt, kann diese Über den "Reset" Button den Zähler zurücksetzen. Der gezählte Wert soll dann aber gesichert werden (Tabelle: ID; Zählerwert; Datum/Uhrzeit; Maschine)
Titel: Re: Stückzähler in Formular
Beitrag von: DF6GL am Januar 08, 2016, 16:32:56
Hallo,

der "Zähler" in diesem Sinn ist überflüssig.

Wenn die Einzelteile (definiert über die 3 DMC-Codes) einschließlich eines Feldes mit dem akt. Datum mit Uhrzeit bei jeder Erfassung des Teils abgespeichert werden, kann daraus die Anzahl aller Teile (oder eines bestimmten Teils) pro Schicht ermittelt werden.   Natürlich müssen der Anfang und das Ende einer Schicht bekannt  (in einer weitere Tabelle hinterlegt) sein , insbesondere wenn sich die Schichtzeiten in Abhängigkeit vom Datum ändern können (--->Betriebskalender)
Titel: Re: Stückzähler in Formular
Beitrag von: Ericolum am Januar 11, 2016, 14:24:39
Hallo,

das mit dem Betriebskalender war auch mein erster Gedanke. Das Problem ist nur, dass die Bediener an der Produktionsanlage unterschiedlich die Anlage verlassen und ich möchte das jeder seinen eigenen Zähler bekommt. Das heißt jeder kann den Zähler dann zu seinem Startzeitpunkt nullen. 
Titel: Re: Stückzähler in Formular
Beitrag von: DF6GL am Januar 11, 2016, 15:00:41
Hallo,

nochmal: das Führen eines Zählers ist überflüssig, auch wenn es sich jetzt nicht mehr um "Schichtwechsel" dreht, sondern um "Mitarbeiterwechsel".

In diesem Fall ist halt zusätzlich noch die MAID mit zu führen.
Titel: Re: Stückzähler in Formular
Beitrag von: Ericolum am Januar 11, 2016, 15:21:47
Ok, wenn ich das über MAID mache, kann ich die Abfrage des aktuellen Zählerstandes des jeweiligen MA in den letzten 8-9h abfragen. Wegen der Schichtleistung (Teilestückzähler) Das sollte funktionieren.

Hast du noch ein Abfragekriterium was die letzten 9h abfrägt?

Gute Idee!

Aber nur für mich, wie würde man einen Zähler realisieren? Würde mich auch so mal interessieren. Oder geht das nur rein über Abfragen?
Titel: Re: Stückzähler in Formular
Beitrag von: DF6GL am Januar 11, 2016, 15:33:27
Hallo,


ZitatHast du noch ein Abfragekriterium was die letzten 9h abfrägt?
versteh ich nicht...und wieso "8-9 h"?

Es ist das Datum, der Schichtbereich (Schichtbeginn-Schichtende) und die MAID als Kriterien erforderlich um die die Anzahl der betreffenden DS zu zählen (--->akt. Zählerwert).

Zählerwert generieren für einen neuen DS:

DCount ("*" ,"tblDeineTabelle","Maid =xxxx and Schichtbereich =yyyy and AktDatum = zzzzz) +1
Titel: Re: Stückzähler in Formular
Beitrag von: Ericolum am Januar 11, 2016, 15:52:18
Die Schichten sind zeitlich wie folgt festgelegt:

Früh: 06-14Uhr
Spät: 14-22Uhr
Nacht 22-06Uhr

Es kann dann aber sein das ein Bediener (MA) (Frühschicht) 05:50Uhr beginnt zu arbeiten. Oder ein anderer weil nach ihm Schluss ist bis 22:13Uhr arbeitet. Dann würde das nicht mehr funktionieren. Und wenn man mit der MAID filtert innerhalb der letzten 9h hätte man den MA sicher erkannt. 
Titel: Re: Stückzähler in Formular
Beitrag von: DF6GL am Januar 11, 2016, 17:02:57
Hallo,

da gilt das gleiche Prinzip wie vorher:

Es müssen dann zusätzlich auch die Zeiten des Arbeitsbeginns und -ende erfasst werden...  Es handelt sich ja dann hier nicht um Schichtbetrieb, sondern um individuelle Arbeitszeiten...
Titel: Re: Stückzähler in Formular
Beitrag von: Ericolum am Januar 12, 2016, 13:25:06
Wie könnte ich die letzten 9h abfragen?

würde das gehen?

>=jetzt()- ?? letzten x Stunden   

Die Spalte ist in hh:mm (24h) formatiert.
Titel: Re: Stückzähler in Formular
Beitrag von: DF6GL am Januar 12, 2016, 13:58:21
Hallo,

es kommt nicht auf das Format an, eher auf den Datentyp, den das Feld in der Tabelle hat.

Zur Zeitberechnung siehe die Zeitfunktionen in der VBA-Hilfe an   Dateadd, Dateseriell,Datediff, Datepart etc oder hier:

https://msdn.microsoft.com/de-de/library/office/gg251759(v=office.15).aspx
Titel: Re: Stückzähler in Formular
Beitrag von: Ericolum am Januar 12, 2016, 14:15:20
Das Format ist "Datum/Uhrzeit" (AC13) im Format "hh:mm" wie müsste das Abfragekriterium heißen, um in diesem Feld die letzten 5 Stunden zu filtern?

Danke! 
Titel: Re: Stückzähler in Formular
Beitrag von: DF6GL am Januar 12, 2016, 15:10:47
Hi,

und wie heißt denn nun das  Datum/Uhrzeit-Feld??


Datepart("h",[DeinDatum/UhrzeitFeld] ) > Datepart("h",Now()) -5

Das funktioniert aber nur, wenn das Ganze sich im gleichen Tag (Datum) abspielt.

Ansonsten siehe bei http://www.donkarl.com/?FAQ2.10  "Zeitdifferenz"
Titel: Re: Stückzähler in Formular
Beitrag von: Ericolum am Januar 13, 2016, 13:45:00
Hallo ,

das Feld heißt "datUhrzeit" die Parameter hatte ich schon geschrieben.

Es wäre aber auch wichtig immer die letzten 9h zu filtern also auch von 04:00Uhr bis den Tag zuvor 19:00Uhr. Bekommt man das in ein Abfragekriterium rein? 


Das habe ich im Netz gefunden:

Tag: [Erfassungsdatum]   mit Kriterium >=jetzt()-1     Eigenschaften  tt.mm.jjjj       (für Datum)
Stunde: [Erfassungsdatum] mit Kriterium >=jetzt()-24      Eigenschaften  hh     (für Stunde)

funktioniert das auch bei Uhrzeit Datum übergreifend, also auch in den Vortag?
Titel: Re: Stückzähler in Formular
Beitrag von: DF6GL am Januar 13, 2016, 13:48:14
Hallo,

lies den geposteten Link....