0

Nach einlesen rfid Chip bestimmten Datensatz öffnen

Hallo,

 

ich bin grade dabei uns eine Materialverwaltung mit einem Barcode System für Material und einem rfid Chip für die Mitarbeiter aufzubauen.

Ich habe ein Formular zur Erfassung der Daten, in diesem sollen der Barcode und der rfid chip ausgelesen werden, um dann per Button das Material in die Verbrauchsliste mit dem jeweiligen Abholer einzutragen.

Dazu habe ich ein Textfeld 'NFC' in dem Formular , das in der Tab_Mitarbeiter mit dem Textfeld 'Code' verglichen wird. Sobald diese übereinstimmen, soll der Mitarbeiter Name in dem Formular in das Textfeld 'Mitarbeiter Name' eingetragen werden.

 

Hier der Code dazu:

let myNFC := NFC;
'Mitarbeiter Name' := first(select Mitarbeiter where text(Code) = myNFC and text(Code) > null).'Name voll'

Dieser wird in dem Feld 'NFC' augeführt unter "Nach Änderungen folgendes Skript ausführen".

 

Funktioniert mit einer einfach zur Testzwecken benutzten Zahl wie "1234" auch, aber nicht mit dem einlesen eines rfid Chips über ein USB Anschluss. Dieser gibt solch eine Zahlen/Buchstaben Kombi aus: "100000078b0f8209".

 

Hat da jemand eine Idee, warum der Code da nicht mehr greift?

 

Gruß Mirko

9 Antworten

null
    • Mirko.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hab das jetzt auch mal mit dem Scanner getestet.

     

    Das Problem scheinen wirklich die Buchstaben zu sein, sobald ich einen Code mit Buchstaben einlese und hinterlege, wird der Code nicht erkannt, ein reiner EAN Code nur aus Buchstaben aber wird erkannt.

     

    Woran kann das liegen?

     

    Grüße Mirko

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Mirko,

    da EAN nur aus Zahlen besteht, gehe ich von den Tippfehler aus (...ein reiner EAN Code nur aus Buchstaben aber wird erkannt.) Kann es sein dass das Feld NFC doch als Zahl angelegt ist?

    Leo

    • Mirko.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,

     

    richtig, war ein Tipfehler, "ein EAN Code nur aus Zahlen wird erkannt".

    Das Feld ist definitiv ein Textfeld, komischerweise gehen wie gesagt reine Zahlenkombinationen, egal welcher Länge, aber sobald ein Buchstabe dazwischen ist greift der Trigger nicht mehr?

     

    Grüße Mirko

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    let myNFC := text(NFC);
    'Mitarbeiter Name' := first(select Mitarbeiter [ text(Code) = myNFC and text(Code)]).'Name voll'

    • Mirko.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Haut leider nicht hin, bekomme dann immer nur den ersten Datensatz der Tabelle Mitarbeiter angezeigt.

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Interessant. Wenn NFC und Code definitiv Textfelder sind dann vielleicht so:

    —-

    if NFC then

    let myNFC:=NFC;

    let myE:=select Mitarbeiter;

     'Mitarbeiter Name' := first (myE [Code=myNFC]).'Name voll'

    end

    —-

    • Mirko.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,

     

    so funktioniert es!? Gibts da auch eine Erklärung für, da wär ich im Leben nicht drauf gekommen!

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Ich weiß nicht genau. Die Bediengung text(Code) > null sieht merkwürdig aus, vielleicht kommt Ninox mit matematischen Vergleichen von Texten nicht klar.

    So wie ich geschrieben prüft Ninox ob NFC einen Wert hat, wenn Ja dann wird in der Tabelle weiter gesucht, Da die Vergleichsfelder definitiv Textfelder sind braucht man text() gar nicht. Und die Eckklammern sind für mich sicherer als where Funktion.

    Leo

    • Patrik_Ronschke
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo zusammen, 

    hat jemand hiermit schon Erfahrungen gemacht? 

    Ich versuche auch auch per USB-RFID Interface Daten in Ninox zu schreiben. 

    Mirko wie genau hast du das umgesetzt? 

     

    LG Patrik

Content aside

  • vor 1 JahrZuletzt aktiv
  • 9Antworten
  • 2876Ansichten
  • 2 Folge bereits