0

GTIN aus Strichcode extrahieren

Darf ich um Hilfe/Tipps bei folgendem Problem bitten?

Ich habe eine kleine Datenbank zur Verwaltung des Lagers von Linsen (intraokularlinsen) in unserem Operationsaal erstellt. Die Tabelle 'Linsennummern' ist eine Liste aller verfügbarer Linsenmodelle mit dem dazugehörenden GTIN(EAN) Code. Die Tabelle 'Lager' enthält alle Linsen in unserem Lager. Nun kann ich den Strichcode der eingehenden Linsen problemlos mit einem Scanner in ein Textfeld (ScanNr) einlesen. Mit der Funktion substring(ScanNr, 3, 16) extrahiere ich daraus die GTIN und das dazugehörende Linsenmodel wird dann aus der Tabelle 'Linsennummern' ausgelesen und ein der Tabelle 'Lager' bei der neu eingegangenen Linse eingesetzt.

Nun haben aber verschiedene Produzenten etwas unterschiedliche Strichcode (zwar meistens GS1-128). Ein Beispiel (01)04547489501567(17)250630(21)4AL637G7.

Nach (01)kommte die GTIN nach (17) das Verfalldatum und nach (21) die Seriennummer. Die Klammern werden beim Scannen nicht gescannt, resp. nicht in das Textfeld übertragen. Wenn die Zahlen immer gleich lang wären, könnte ich mit substring die richtige Zahl problemlos aus der Position auslesen, aber je nach Lieferant ist das nicht immer genau gleich.

Habt Ihr eine Idee, wie ich das am besten löse (mit extractx mit regex?  habe ich versucht, ich bin aber etwas überfordert...)

1 Antwort

null
    • Ninox-Professional
    • planoxpro
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Mit Regex kenne ich mich auch nicht wirklich aus. Allerdings bräuchte man ja auch dafür irgendwelche Regeln, nach denen man entsprechende Abfragen formulieren könnte. Das heißt, man müsste sich wohl die verschiedenen Codes erst mal genau ansehen und herausfinden, ob es da eine Systematik gibt, die für eine Regex-Abfrage genutzt werden kann.

    Sollte es so sein, dass die Codes der verschiedenen Hersteller sich über ein bestimmtes Merkmal identifizieren lassen, dann ließe sich das eventuell auch ohne Regex direkt abfragen. Beispiel: Die Codes der Hersteller unterscheiden sich in der Länge. Dann kann man die über length(ScanNr) ermitteln und die Parameter beim substr() jeweils entsprechend variieren.

    Nur so als Idee.

Content aside

  • vor 2 JahrenZuletzt aktiv
  • 1Antworten
  • 32Ansichten
  • 2 Folge bereits