collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 68
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 14072
  • stats Beiträge insgesamt: 67582
  • stats Themen insgesamt: 9104
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Frage - Daten aus verschiedenen Datensätzen in einen Datensatz kopieren  (Gelesen 151 mal)

Offline HaNe

  • Newbie
  • Beiträge: 23
Hallo an Alle,

ich hab mal wieder ein Problem und komme nicht weiter. Vieleicht hat jemand eine Idee oder Lösung dazu. Ich erstelle gerade in der Firma ein Zeiterfassungssystem und lese Daten (welche ich vorgebe ) über Barcodescanner ein. Die Struktur ist folgende:
Barcode=6 Zeichen (Fertigungsauftragsnr) + 2 Zeichen (Arbeitsgang) + 1 Zeichen (Start (1) oder Ende (6))
ScanZeit = Zeit des Scannens
ScanDatum = Datum des Scannens
Mitarbeiter = Nr des Mitarbeiters

Jetzt habe ich folgendes Problem. Um eine effektive Fertigungszeit zu ermitteln, muss ich die Scanzeiten, welche im Barcode mit einer 6 Enden in den entsprechenden Datensatz (endet mit einer 5) setzen, welche die Startzeit hat. Wichtig ist aber dabei, das auch die FertigungsauftragsNr, der Arbeitsgang und der Mitarbeiter gleich sein müssen.

Hier mal ein paar Beispiele, wie die Tabellen aussehen  ( verschieden sortiert): -die Spalten sind dann natürlich mit Trennzeichen getrennt -

sortiert nach Mitarbeiter
Barcode Scanzeit ScanDatum Mitarbeiter
13123071 09:30:00 01.09.2018 056656
13123076 10:45:00 01.09.2018 056656
13124071 10:46:00 01.09.2018 056656
13125076 11:25:00 01.09.2018 056656
13125071 11:26:00 01.09.2018 056656
13125076 12:10:00 01.09.2018 056656
13123071 09:34:00 01.09.2018 056657
13123076 09:58:00 01.09.2018 056657
13128071 09:58:20 01.09.2018 056657
13128076 12:03:00 01.09.2018 056657
13123071 09:31:00 01.09.2018 056658
13123076 10:18:00 01.09.2018 056658
13132071 10:18:10 01.09.2018 056658
13132076 10:39:30 01.09.2018 056658
13125081 10:39:50 01.09.2018 056658
13125086 11:59:00 01.09.2018 056658

sortiert Scanzeit
Barcode Scanzeit ScanDatum Mitarbeiter
13123071 09:30:00 01.09.2018 056656
13123071 09:31:00 01.09.2018 056658
13123071 09:34:00 01.09.2018 056657
13123076 09:58:00 01.09.2018 056657
13128071 09:58:20 01.09.2018 056657
13123076 10:18:00 01.09.2018 056658
13132071 10:18:10 01.09.2018 056658
13132076 10:39:30 01.09.2018 056658
13125081 10:39:50 01.09.2018 056658
13123076 10:45:00 01.09.2018 056656
13124071 10:46:00 01.09.2018 056656
13125076 11:25:00 01.09.2018 056656
13125071 11:26:00 01.09.2018 056656
13125086 11:59:00 01.09.2018 056658
13128076 12:03:00 01.09.2018 056657
13125076 12:10:00 01.09.2018 056656

Kann mir hier bitte jemand helfen oder hat jemand eine Idee, wie ich den Barcode so ändern könnte, das ich die Daten besser auswerten kann?

Vielen Dank für Eure Hilfe

Glück Auf
Stollnblech
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1340
Re: Frage - Daten aus verschiedenen Datensätzen in einen Datensatz kopieren
« Antwort #1 am: September 17, 2018, 15:25:53 »
Du solltest den Barcode auf drei Felder jeweils in einer Abfrage für beide Tabelle aufteilen.

Hier für den Abfrageentwurf:fa_nr: Left$(Barcode;6)
agang: Mid$(Barcode;7;1)
styp:Right$(Barcode;1)
Bei größerem Datenbestand lohnt es sich, die Daten in neue Tabellen zu verpflanzen und die Felder zu indizieren, damit die Ausführung zügig abläuft.

Sinngemäß sollte dann eine Abfrage in dieser Form möglich sein, wobei die gezeigten Daten hier als b und die hier nicht gezeigte Tabelle als a zu betrachten sind.SELECT a.*,
       b1.*,
       b2.*
FROM   ( a
         LEFT JOIN b AS b1
                ON ( a.fa_nr = b1.fa_nr ) AND
                   ( a.agang = b1.agang ) AND
                   ( a.mitarbeiter = b1.mitarbeiter ) )
       LEFT JOIN b AS b2
              ON ( a.fa_nr = b2.fa_nr ) AND
                 ( a.agang = b2.agang ) AND
                 ( a.mitarbeiter = b2.mitarbeiter )
WHERE  b1.stype = '1' AND
       b2.stype = '6';
Statt a.*, b1.* und b2.* wird man in der Praxis nur die benötigten Felder auswählen und durch Aliasnamen voneinander unterscheidbar machen.
Grüße von der (⌒▽⌒)
 
Folgende Mitglieder bedankten sich: HaNe

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1892
Re: Frage - Daten aus verschiedenen Datensätzen in einen Datensatz kopieren
« Antwort #2 am: September 17, 2018, 15:58:51 »
Hallo,
Zitat
Barcode=6 Zeichen (Fertigungsauftragsnr) + 2 Zeichen (Arbeitsgang) + 1 Zeichen (Start (1) oder Ende (6))
Diese Beschreibung (9 Zeichen) passt nicht zu den gezeigten Barcodes
(nur 8 Zeichen).
Um einen Barcode einscannen zu können, muss der vorher irgendwie
erzeugt werden. Da der Barcode atomare Informationen enthält, vermute
ich, dass das in einer Abfrage passiert. Falls das nicht so ist, sollte das so
eingerichtet werden.

Fragen:
Warum hast du Datum und Zeit getrennt? Mit einem kompletten
Datums-/Zeitfeld lässt sich viel einfacher rechnen.

Warum kannst du nicht mit "offenen" DS arbeiten? Meint Start und Ende
direkt in einen DS. Dann suchst du beim einscannen nur den offenen DS
und schreibst das Ende da rein.

gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline HaNe

  • Newbie
  • Beiträge: 23
Re: Frage - Daten aus verschiedenen Datensätzen in einen Datensatz kopieren
« Antwort #3 am: September 17, 2018, 19:23:07 »
Hallo,

also es stimmt, es sind "nur" 8 Zeichen. 5 Fertigungsauftrag, 2 AG,1 Start/Ende.
Mit dem Datum/ Zeit liegt am Scanner. Ich benutze den Opticon OPN2006. Dieser gibt Datum und Zeit einzeln aus. Beim Importieren generiere ich ein Datenfeld, bei dem diese beiden Informationan verknüpft sind. Damit lässt sich ja viel einfacher rechnen....
Ich teste mal die Vorschläge und melde mich

Vielen Dank schonmal für die schnellen Hilfen.

Glück Auf
vom
Stollnblech