none
Problem mit Barcode in Access RRS feed

  • Frage

  • Hallo

    Ich habe einen Barcodescanner, der bei uns im System als Tastatur hinterlegt ist, ohne zusätzliche Software. d.h. ich kann ihn an jeden PC (per USB) anschliessen und eine Barcode scannen.

    Wenn ich z.B. Notepad öffne wird der Barcode jedes Mal richtig eingescannt.

    Jetzt habe ich eine AccessFE mit einer SQL-DB im Hintergrund. Die Felder in der SQL-Tabelle, in welche Barcodes gescannt werden, sind mit nvarchar(18) definiert. In der Acc-db als Textfeld mit PlainText.

    Das Problem dabei: sehr häufig kommt es so dass der Scanner nicht das scannt was er sollte. Die Etiketten, die den Barcode erhalten, sehen so aus (werden vom Hersteller so erstellt): "si(x-yy-zzzzzzzz" (ohne Hochkommas). x, y und z sind Zahlen. Wenn es nicht funktioniert werden willkürliche Formate gescannt. z.B. s756-84568324, s(5i-15681526, s(i9-56-453126. Die Zahlen, die bei den falschen Scans auftauchen, haben meistens schon etwas mit den Zahlen zu tun, die er einscannen sollte. aber Trotzdem ist das Format falsch. Das gleiche Problem tritt auf wenn ich in eine ungebundene Textbox scanne.

    Hat jemand eine Idee, was ich machen kann? Ich habe keine Idee mehr, um so mehr da es im Notepad ja problemlos funktioniert...


    Danke und Gruss Thomas



    • Bearbeitet Alphawolfi Mittwoch, 18. September 2019 09:08
    Mittwoch, 18. September 2019 09:06

Antworten

  • Die Hex-Ausgabe entspricht genau deinem String, da ist nichts verborgenes drin. Die Zeilenschaltung am Ende schickt dein Barcode-Leser.

    Wenn dein Feld in Access mindestens die in diesem Beispiel notwendigen 16 Zeichen vorsieht, und <Enter> nur zum nächsten Feld, nicht zum nächsten Datensatz führt, sollte der Inhalt genauso ankommen.

    Hast du mal probiert, in deiner Anwendung ein neues Formular mit genau dem einen Feld (egal ob gebunden oder nicht) zu erstellen und damit den Barcode zu lesen?

    Gruss - Peter

    Donnerstag, 19. September 2019 16:58
    Moderator

Alle Antworten

  • Hallo,

    Versuch mal, in ein leeres SSMS-Fenster zu scannen. Egal, ob es wie im Notepad korrekt ankommt oder nicht, zeig das Ergebnis Hex an, z.B.:

    SELECT CAST('si(x-yy-zzzzz' AS BINARY)

    Vermutlich sind Sonderzeichen enthalten, mit denen Access Probleme haben könnte, z.B. <tab>, was einen Feldwechsel zur Folge hätte. Sonderzeichen sieht man im Notepad nicht.

    Gruss - Peter

    Mittwoch, 18. September 2019 15:20
    Moderator
  • Hallo Peter

    Danke für Deine Antwort

    Im SSMS-Fenster werden die Codes auch richtig angezeigt, also so wie im Notepad. Aber es macht nach dem Scannen immer eine Zeilenschaltung (im Notepad auch).

    Ich habe jetzt einen Code gescannt 

    SELECT CAST('si(1-12-01301694' AS BINARY)

    und erhalte

    0x736928312D31322D30313330313639340000000000000000000000000000

    Was kann ich noch tun?


    Danke und Gruss Thomas

    Donnerstag, 19. September 2019 09:33
  • Die Hex-Ausgabe entspricht genau deinem String, da ist nichts verborgenes drin. Die Zeilenschaltung am Ende schickt dein Barcode-Leser.

    Wenn dein Feld in Access mindestens die in diesem Beispiel notwendigen 16 Zeichen vorsieht, und <Enter> nur zum nächsten Feld, nicht zum nächsten Datensatz führt, sollte der Inhalt genauso ankommen.

    Hast du mal probiert, in deiner Anwendung ein neues Formular mit genau dem einen Feld (egal ob gebunden oder nicht) zu erstellen und damit den Barcode zu lesen?

    Gruss - Peter

    Donnerstag, 19. September 2019 16:58
    Moderator
  • Hallo!

    Bei dem geschilderten Format ist es zwar wahrscheinlich nicht die Ursache, aber der Test kostet ja nur 1 Minute: Stelle in den Eigenschaften des Textfeldes in Access "Autokorrektur zulassen" auf Nein.


    Karl
    http://www.donkarl.com/?AEK
    http://www.AccessDevCon.com


    Freitag, 20. September 2019 12:34
  • Danke für Eure Hilfe.

    Das mit der AutoKorrektur hat leider nichts gebracht.

    Ich habe es jetzt so gemacht:

    Komplett neues Formular, um nur den Barcode einzugeben, öffnen und auch wieder schliessen inkl. Barcode im HFO einfügen mittels Tastenkombination.

    Wieso es in einem komplett neuen Formular geht und im 'alten' nicht weiss ich nicht. Aber das gibt es schon seit Jahren, hat viele Kontrollfelder und einigen Code, vielleicht ist irgendwo ein Hacken, den ich nicht finde. Aber so funktioniert es jetzt, ist schnell und immer richtig.


    Danke und Gruss Thomas

    Montag, 23. September 2019 09:20