Office: (Office 2003) Tastatureingabe abfangen

Helfe beim Thema Tastatureingabe abfangen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen ich möchte die Übertragung eines BARCODE Scanners per VBA einlesen und in einer tabelle speichern. Dazu überträgt dieser über die... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von GTRDRIVER, 4. Dezember 2019.

  1. Tastatureingabe abfangen


    Hallo zusammen

    ich möchte die Übertragung eines BARCODE Scanners per VBA einlesen und in einer tabelle speichern.

    Dazu überträgt dieser über die Standard KBD Schnittstelle da ganze einfach und Trennt die Zeilen per CR/LF

    Jetzt könnte ich einfach ein Formular öffnen - und den Focus auf ein TEXT Feld setzten - da dann bei "enter" auswerten

    Ich habe ein wenig bedenken dass warum auch immer - Access oder das Fenster den Fokus verliert.

    Daher die Frage ob ich das "tiefer" irgendwo abfangen kann ?

    :)
     
    GTRDRIVER, 4. Dezember 2019
    #1
  2. Hallo,

    das ist die "normale" vorgehensweise. Du könntest auch ein modales POPUP Fenster nehmen, damit gewährleistet ist, daß das "Scannerfeld" immer den Fokus behält.

    Ulrich
     
    knobbi38, 6. Dezember 2019
    #2
  3. Hallo

    was meinst du mit "das ist die normale Vorgehensweise" ?

    Ich habe deshalb ein wenig bedenken weil das ein Inventur Scanner ist der quasi nen ganzen Batch an SCANS per KBD Schnittstelle schickt

    das können auch mal 700 Zeilen sein...
     
    GTRDRIVER, 7. Dezember 2019
    #3
  4. Tastatureingabe abfangen

    Hallo,

    mit "normal" meine ich, daß ein Scan-Ergebnis nach dem anderen verarbeitet wird. Wenn hier "in einem Rutsch" mehrere Scan-Ergebnisse verarbeitet werden sollen, müßte man testen, ob die Verabeitungsgeschwindigkeit ausreichend ist und wenn nicht, andere Wege beschreiten, z.B. eine Funktion "Sammelverarbeitung" einführen, bei der Scan-Ergebnisse mit einer anderen Logik übernommen und verarbeitet werden, z.B. Input-Queues o.ä.

    Ulrich
     
    knobbi38, 7. Dezember 2019
    #4
  5. Hi

    ja - das war auch mein gedankengang - ob das von der Geschwindigkeit her ausreicht ....

    würdest du ein normales Textfeld in einem Form nehmen und dort den Focus setzen ?
     
    GTRDRIVER, 7. Dezember 2019
    #5
  6. Hallo,

    ja natürlich, ein anderes Steuerelement als eine Textbox kommt dafür nicht in Frage.

    Ulrich
     
    knobbi38, 7. Dezember 2019
    #6
  7. Bin mir jetzt nicht völlig sicher, aber ein Textfeld kann nur 65536 Zeichen verwalten. Falls da mehr kommt, könnte es Probleme geben.
     
    CatboyJones, 7. Dezember 2019
    #7
  8. Tastatureingabe abfangen

    Ein Barcode mit mehr als 65536 Zeichen?

    Ulrich
     
    knobbi38, 7. Dezember 2019
    #8
  9. > Ein Barcode mit mehr als 65536 Zeichen?

    >> das können auch mal 700 Zeilen sein...

    Ein Barcode mit mehr als 93 Zeichen? ... würde Sinn machen.
     
    CatboyJones, 7. Dezember 2019
    #9
  10. \@CatboyJones:
    Die Betonung lag auf "ein Barcode", meinetwegen auch mit 93 Zeichen.

    Es gibt keine andere Möglichkeit, als eine Textbox. Alles andere erfordert einen Eingriff in den Input-Stream per API oder eine Interaktion mit dem Treiber selber. Beides nicht wirklich eine Option mit Access-VBA.

    Ich habe ja bereits geschrieben, daß man in solch einem Fall u.U. andere Wege beschreiten muß, um die Verarbeitung zu beschleunigen, z.B. in dem Eingabe und Verarbeitung getrennt wird und die eigentliche Verarbeitung dann asynchron zur Erfassung läuft.

    Ein ganz andere Alternative sind professionelle Scanner, die auch über ein USB/COM-Interface angeschlossen werden können. Damit erübrigen sich solche Fragen bezüglich Formular/Fokus/Textbox usw. Dort wird dann eine richtige Kommunikation zwischen Gerät und Anwendung aufgebaut.

    Gruß Ulrich
     
    knobbi38, 7. Dezember 2019
    #10
  11. \@ulrich
    Mit der Textbox hast Du schon recht, und es ist tatsächlich fraglich, ob die
    mögliche Kapazität an Zeichen hier überschritten werden könnte. Aber wenn
    doch, dann wäre es recht ärgerlich, da die überzähligen Zeichen einfach im
    Nirwana verschwinden.

    (Ein Trick um deutlich mehr Zeichen empfangen zu können wäre übrigens eine
    TextArea im WebControl.)

    Gruss
    Jones
     
    CatboyJones, 7. Dezember 2019
    #11
  12. Hallo

    Die begrenzung auf die Zeichen Zahl ist schon nicht ganz ohne - eine Variante, eine ggfs zu langsame verarbeitung zu umgehen wäre quasi alles (incl. der Steuerzeichen) in ein Textfeld zu übernehmen und dann zu verarbeiten aber da könnte das angesprochene Limit tatsächlich zuschlagen.

    Daher scheidet das aus ...

    Ich denke ich werde das ganze Pro "enter Steuerzeichen" auswerten und in ein Array schreiben - - nach ende des Einlese Vorgangs dann das Array erst verarbeiten ...
     
    GTRDRIVER, 7. Dezember 2019
    #12
  13. Tastatureingabe abfangen

    Das stimmt zwar prinzipiell. Aber hier gibt es in Verbindung mit access auch 2 Fallstricke

    1. Der Scanner meldet sich per vielrtuellem com port an
    Selbst wenn das Protokoll sauber dokumentiert ist.. Wer schon mal mit VBA und rs232 Kommunikation gemacht hat der weiss dass das auch nicht ohne ist.

    Option 2. Der Scanner unterstützt nur die Hersteller eigene SW dann gestaltet dich die Verbindung mit access auch schwierig ..

    Dazu kommt hier noch die WTS Umgebung
     
    GTRDRIVER, 7. Dezember 2019
    #13
  14. Hallo,

    Das wäre die Option, wenn die Verabreitungsgeschwindigkeit wirklich nicht ausreichend wäre. Vielleicht sollte man das vorher nochmal in einem proof-of-concept abklären, ob das in dem Kontext wirklich notwendig wird.

    Deine Bedenken bezüglich einer USB/COM-Kommunikation teile ich so nicht. Das wird so schon lange in VB/VBA gemacht und könnte notfalls auch in eine externe Komonente ausgelagert werden. Scanner welche unter die "Option 2" fallen, würde ich dann nicht unterstützen wollen - ist aber auch sehr selten.

    Dein Hinweis auf WTS ist da schon ein Argument, was im Einzelfall abzuklären wäre. Möglicherweise können dann die Stationen mit Scannern nicht als WTS-Stationen betrieben werden.

    @jones:
    Den Umweg über ein Webcontrol würde ich wahrscheinlich nicht wählen, dann doch lieber eine (aktive?) externe Komponente, die in Access eingebunden wird.

    Gruß Ulrich
     
    knobbi38, 8. Dezember 2019
    #14
  15. Hallo zusammen

    obwohl ich schon ein paar Jahre Access hinter mir habe komme ich immer wieder in Situationen wie diesen an denen ich offenbar ein Brett vor dem Kopf habe...

    Ausgangslage:

    Formular mit 2 Text Feldern

    Feld1: für den Barcodescanner
    Feld2: Hier soll hoch gezählt werden

    Der Scanner sendet ein "enter" nach jedem Datensatz - also habe ich mal ganz einfach nur um mal das Einlesen zu testen folgendes gebastelt: (einfach nur um mal die Einlese Geschwnidigkeit zu testen)

    Code:
    Nach meinem Verständnis sollte nach jedem "enter" das Textfeld verlassen werden - die Prozedur wird aufgerufen - das Feld gelöscht und dann der focus wieder auf das Feld Scanner gesetzt werden.

    Geht aber nicht...

    Wo habe ich den Fehler ?

    Hab grad im Forum was gefunden

    Cancel = True 'erst canceln

    Damit funktionierts ...

    Korrektur - damit verliert das Feld zwar nicht mehr den Focus - aber dann funktioniert auch kein anderes Element im Formular mehr (kein Button etc... )
     
    GTRDRIVER, 9. Dezember 2019
    #15
Thema:

Tastatureingabe abfangen

Die Seite wird geladen...
  1. Tastatureingabe abfangen - Similar Threads - Tastatureingabe abfangen

  2. Fehlermeldung abfangen: "Zugriff verweigert

    in Microsoft Excel Hilfe
    Fehlermeldung abfangen: "Zugriff verweigert: Hallo zusammen, wie im Betreff schon erwähnt möchte ich eine Fehlermeldung abfangen und eine Msgbox erscheinen lassen: In meiner Excel Liste kann man per Knopfdruck andere Excellisten öffnen....
  3. Sicherheitshinweis abfangen

    in Microsoft Excel Hilfe
    Sicherheitshinweis abfangen: Hallo, ich habe eine Exceldatei und möchte daraus beliebig viele Excel Dateien (*.XLSM) hintereinander aufrufen und den Inhalt auslesen. Bei jedem Öffnen kommt der Sicherheitshinweis, das es sich...
  4. For Next Schleife verzögern, Tastatureingabe abfragen

    in Microsoft Excel Hilfe
    For Next Schleife verzögern, Tastatureingabe abfragen: Hallo zusammen Ich lasse in Excel in einer For-Next-Schleife eine zufällige Zelle für 200 Milisek.mit der Hintergrundfarbe weiss darstellen, danach warte ich für 1200 Milisek. Nun möchte ich...
  5. Div durch 0 abfangen

    in Microsoft Excel Hilfe
    Div durch 0 abfangen: Hi, ich habe ein Excel-File mit sehr vielen "Division durch 0" Fehler. Dies kann man ja per Formel abfangen, aber da sitze ich sehr lang :-) Gibt es in VBa eine Möglichkeit, all diese Fehler auf...
  6. Fehler in Abfrage "abfangen"

    in Microsoft Access Hilfe
    Fehler in Abfrage "abfangen": Hallo zusammen, ich habe eine Abfrage, die bei Datensätzen zu denen kein Link zu einer bestimmten Abfrage existiert, einen Fehler ausgibt. (Ich hoffe das Bild m Anhang hilft das Problem zu...
  7. Laufzeitfehler 13 abfangen

    in Microsoft Access Hilfe
    Laufzeitfehler 13 abfangen: Hallo, ich bins mal wieder, in einer alten Datenbank habe ich eine Textspalte in einer Tabelle, die Zahlen enthält. Diese Spalte wird zur Berechnung benötigt. Beim Testen habe ich bemerkt, dass...
  8. Fehler abfangen VBA

    in Microsoft Excel Hilfe
    Fehler abfangen VBA: Hallo, ich habe einen Code, in dem die selektierten LEEREN Zellen mit einer Null aufgefüllt werden soll. Das funktioniert auch. Aber wenn in dem Bereich keine leeren Zellen vorhanden sind, kommt...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden