Barcodescan erkennen

Moderator: ModerationP

Barcodescan erkennen

Beitragvon Kerstin83 » 15. Aug 2019, 10:13

Liebes Forum :P :P

ich habe einen Barcodescanner. Hätte nicht gedacht, dass es so simpel ist ihn zu integrieren. Einfach anschließen und schon legt er los. Funktioniert wie eine Tastatur, aber das wissen wahrscheinlich die meisten. Aber für diejenigen, die das nicht wissen und wie ich gewisse Berührungsängste mit Barcodescannern haben, hier der Tipp - es ist wirklich extrem einfach. :P

Kann man, obwohl der Barcodescanner wie eine Tastatur wirkt, irgendwie erkennen, dass es sich um einen Scan handelt ?
Ich möchte gerne, dass ich in meinem Formular einfach scannen kann, egal, in welchem Feld ich mich befinde (zum Beispiel auch in einem Unterformular) und Access erkennt: "Aha, es ist ein Scan, ich gehe also in das dafür vorgesehene Scanfeld und schreibe dort den Barcode hinein."

Als erstes dachte ich, dass man vielleicht mit den Zeiten, die zwischen den Tastatureingaben liegen, etwas machen könnte, mit der Idee, dass die Eingabe eines Scanners schneller ist, als die eines Menschen über eine Tastatur. Damit bin ich aber nicht weiter gekommen. Die Zeitmessung scheint zu ungenau zu sein und soo langsam ist der Mensch auch nicht.

Jetzt habe ich es provisorisch gelöst, indem per Zeitintervall in das Scanfeld gesprungen wird, sofern nicht gerade in dem Feld, auf dem der Focus liegt, Eingaben gemacht werden. Das funktioniert auch so einigermassen, ist aber nur Gebastel.

Hat jemand eine Idee, wie man das am besten macht ? Zu erkennen, dass es sich um einen Scan handelt, oder eine Verfeinerung der anderen Versuche oder vielleicht noch ganz anders ?

Liebe Grüße

Kerstin :P
Ich hasse Leute, die Sätze nicht zuende

Tchibo Induktions-Milchaufschäumer
Standby-Betrieb: 18 Watt.
Pro Jahr: 80 kg CO2 (und 30 Euro)

- Ohne Kommentar -
Kerstin83
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1376
Registriert: 03. Aug 2005, 13:29
Wohnort: Zur Zeit im schönen Berlin

Re: Barcodescan erkennen

Beitragvon SGast » 15. Aug 2019, 10:40

Hallo,
V1) man kann (hab ich gelesen) beim Scanner normalerweise einen Präfix bzw. Sufix einstellen
V2) Du kannst ja in den Eigenschaften des Formulars die Eigenschaft Tastenvorschau auf Ja festlegen dann werden Tastendrücke für das Formular vor den Events aller anderen Steuerelemente verarbeitet. Dann kannst du evtl. mit dem Event "Bei Taste" (Form_KeyPress) des Fornulars was zurecht biegen
V3) Com-Port Emulation über zusätzlichen Treiber

Gruß Steffen
SGast
 

Re: Barcodescan erkennen

Beitragvon Bitsqueezer » 16. Aug 2019, 08:48

Hallo,

bei einem einfachen Scanner, der nur Tastaturemulation anbietet, gibt es als einzige zuverlässige Methode nur die Möglichkeit, einen Präfix zu verwenden (Suffix macht keinen Sinn, weil das Erkennungszeichen ja dann erst am Ende kommt).

Bei manchen Scannern kann man per speziellen Scanbefehlen (einstellbar durch Scannen spezieller Barcodes, die im Handbuch stehen) am Scanner Einstellungen vornehmen, darunter z.B., ob am Ende ein Enter-Zeichen geschickt werden soll etc. Hier kann man oft auch einen Prefix-Code einstellen.

Die Methode halte ich allerdings für zu scannerspezifisch, denn wenn mal das Modell gewechselt oder mehrere verwendet werden, ist nicht sicher, ob das alle können und alle auch das gleiche Zeichen verwenden.

Daher ist die einfachste und sicherste Methode, den Prefix-Code direkt im Barcode unterzubringen. Das muß einfach nur ein ASCII-Code sein, den man per Tastatur nicht eingeben kann, davon gibt es ja einige im Bereich vor 32 - welchen man da nimmt, kann man mit ein paar Experimenten herausfinden.

Mit den Key-Events des Formulares kann man dann auf den Code "horchen" und weiß dann, daß es sich um eine Scannereingabe handelt. Der Scan wird dann mit einem Suffix-Code beendet (i.d.R. Enter). So kann jedes Formular selbst entscheiden, wie es mit dem Scan umgeht. Damit ist ebenso denkbar, den Scanner auch für mehrere Zwecke zu verwenden im gleichen Formular. Beispielsweise kann man einen Prefix-Code für "Scan beginnt" verwenden und dann unterschiedliche weitere für jeweils das gewünschte Feld. Ebenso kann man das vom Feld abhängig machen, in dem sich der Cursor gerade befindet (also der Fokus).

So ein Prefix-Code sollte auch gefolgt sein von weiteren (auch normalen) Zeichen, die z.B. ein Unternehmenskürzel sein können, um zu verhindern, daß auf einem Karton voller Barcodes versehentlich ein fremder gescannt wird, der zufällig den gleichen Prefix-Code verwendet. So kann man leicht die eigenen von fremden unterscheiden und den gescannten Code verwerfen, wenn das Unternehmenskürzel nicht gefunden wurde.

Gruß

Christian
Bitsqueezer
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 7035
Registriert: 21. Jun 2007, 12:17

Re: Barcodescan erkennen, nachgefragt

Beitragvon Beaker s.a. » 16. Aug 2019, 15:32

Hallo Christian,
Ich schon wieder :wink:
Daher ist die einfachste und sicherste Methode, den Prefix-Code direkt im Barcode unterzubringen.
Das muß einfach nur ein ASCII-Code sein, den man per Tastatur nicht eingeben kann, davon gibt es ja einige im Bereich vor 32

Das kann man aber doch nur mit selbst erstellten Barcodes machen, die sich dann
auch noch ausserhalb der Standards (EANx, UPC-x, alle mit fester Länge) befinden.
Code39 und Code128 würden mir dazu einfallen. Wobei ich nicht sicher bin, ob die
die Zeichen < 32 unterstützen.
Was macht man also mit fremden Barcodes?
gruss ekkehard
Ereignisorientierte Programmierung:
Alles, was geschieht, geschieht.
Alles, was während seines Geschehens etwas anderes geschehen
läßt, läßt etwas anderes geschehen.
Alles, was sich selbst im Zuge seines Geschehens erneut geschehen
läßt, geschieht erneut.
Beaker s.a.
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 703
Registriert: 14. Jul 2012, 21:56
Wohnort: Bremen

Re: Barcodescan erkennen

Beitragvon Bitsqueezer » 16. Aug 2019, 15:52

Hallo Ekkehard,

das hängt ja ganz vom Anwendungsfall ab. Was ist "fremd"? Man scannt ja für gewöhnlich eher bekannte Labels (also formatbekannte) als "irgendwelche".

Wenn man xbeliebige Labels scannen will, wie etwa in einem Wareneingang, würde ich eher einen durch den Scanner selbst konfigurierbaren Prefixcode verwenden, weil der dann immer gesendet wird, egal, welcher Barcode gelesen wird. Dann ist man allerdings, wie oben erwähnt, u.U. vom Modell abhängig.

EAN ist eine European Article Number, die man nur in der Form nehmen kann, wie man sie bekommt, weil übergreifend gültig, die muß auch gegen Geld bestellt werden.

Code39 z.B. kann die ersten 128 ASCII-Codes, was Codes unter 32 einschließt.

Mittlerweile wird meistens auch eher 2D-Code verwendet, bei denen man einen ganzen Berg an Informationen scannen kann.

Gruß

Christian
Bitsqueezer
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 7035
Registriert: 21. Jun 2007, 12:17

Re: Barcodescan erkennen

Beitragvon Beaker s.a. » 16. Aug 2019, 16:09

Hallo Christian,
Mit "fremd" meinte ich halt alle Codes, die ich nicht selber für meine Artikel/
Zwecke erstelle, also von anderen vorgegeben sind.
EAN ist eine European Article Number, die man nur in der Form nehmen kann, wie man sie bekommt,

Sach ich doch (Standard, feste Länge)
die muß auch gegen Geld bestellt werden.

Bestellen und bezahlen (~120-130€/anno) muss man die GLN (Global Location
Number). Das sind die ersten 7 Stellen eines EAN13.

einen durch den Scanner selbst konfigurierbaren Prefixcode verwenden

Ist dann wohl die universellste Lösung (Hardware aussen vor).
Danke für die Info zu Code39. Sorry, hätte ich auch selber noch mal suchen können.
gruss ekkehard
Ereignisorientierte Programmierung:
Alles, was geschieht, geschieht.
Alles, was während seines Geschehens etwas anderes geschehen
läßt, läßt etwas anderes geschehen.
Alles, was sich selbst im Zuge seines Geschehens erneut geschehen
läßt, geschieht erneut.
Beaker s.a.
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 703
Registriert: 14. Jul 2012, 21:56
Wohnort: Bremen


Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste