Office: Scanner und Kombinationsfeld...

Helfe beim Thema Scanner und Kombinationsfeld... in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo liebe Freunde und Helfer! Ich verwende eine Kombinationsfelder um über eine Kennzahl die Artikelbezeichnung usw. abzufragen. Das funktioniert... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Anna Karl, 19. Mai 2025.

  1. Scanner und Kombinationsfeld...


    Hallo liebe Freunde und Helfer!
    Ich verwende eine Kombinationsfelder um über eine Kennzahl die Artikelbezeichnung usw. abzufragen. Das funktioniert einwandfrei.
    Nun möchte mein Kollege, dass er einen Scanner verwenden will und da habe ich folgendes Problem:
    Der Scanner sendet am Anfang noch irgendwelche Buchstabenkombinationen mit, die logischewrweise in der Kennzahl nicht vorkommt, also aus 0000000766 wird )SC20000000766 und eine Fehlermeldung erscheint.
    Meine Idee - ich entferne einfach diese )SC2 mit der Funktion Mid.
    [Code:]
    If Len(Me.cmbKennzahl.Value) > 10 Then
    Me.cmbKennzahl.Value = Mid(Me.cmbKennzahl.Value,5)
    Me.cmbKennzahl.Requery
    End If
    [/Code]
    Nur das funktioniert nicht. Im Kombinationsfeld steht trotzdem der Mist am Anfang der Kennzahl.
    Könnt Ihr mir da Tipps geben, ob es in einem Kombinationsfeld überhaupt geht, oder benötige ich eine "Zwischenvariable", etc.
    LG
    Anna
     
    Zuletzt bearbeitet: 19. Mai 2025
    Anna Karl, 19. Mai 2025
    #1
  2. Doming
    Doming Erfahrener User
    Hallo Anna,
    als erstes: der Doppelpunkt hinter dem ersten Code ist zuviel Scanner und Kombinationsfeld... *;)*

    Ich würde mal einen Haltepunkt setzen und mit F8 gucken, was der Scanner da auswirft und was nach der Auswertung herauskommt. Wenn ich mich recht erinnere gibt es unsichtbare Zeichen.
    Versuche mal dieses:
    Code:
    Private Sub cmbKennzahl_AfterUpdate()
     Dim a As Long
        Do
            a = a + 1
            Debug.Print a, Asc(Mid(cmbKennzahl, a, 1))
        Loop Until a >= Len(cmbKennzahl)
        If Len(Me.cmbKennzahl) > 10 Then
            Me.cmbKennzahl = Mid(Me.cmbKennzahl.Value, 5)
            Me.cmbKennzahl.Requery
        End If
    End Sub
    Mit der Schleife werden alle Zeichencodes der Zeichen im Direktfenster(Strg-G) untereinander ausgegeben.
    Dein obiges Beispiel )SC2 sieht dann so aus:
    1 41
    2 83
    3 67
    4 50
    Wobei die erste Zahl die Stelle im String angibt. Du kannst die Codes überprüfen, indem Du zum Bespiel Alt+41 eingibst,, das ergibt dann das ). Dann kannst Du auch sehen, wie viele Zeichen überhaupt übertragen werden. Vielleicht muss man auch nachgucken, welchen Zeichensatz der Scanner liest. Code-39, 128 usw, da gibt es viele.

    Gruß
    Doming
     
    Doming, 19. Mai 2025
    #2
  3. Hallo Doming!
    Ich hab's mit Deinem Tipp probiert, das Problem ist ich komm gar nicht zum auswerten. Sobald ich das cmbKennzahl-Feld verlassen will kommt die Fehlermeldung "Der von Ihnen eingegebene Text ist kein Element der Liste".
    Muß ich irgendwas in den Eigenschaften vom Kombinationsfeld verändern?
    Muß ich die Fehlermeldung abfangen.
    Code:
    On Error Resume Next 'klappt nicht
    
    Mit den Kennzahlen aus der Liste kann ich Deinen Tipp nachvollziehen. Hänge ich aber selber eine Ziffer/Buchstabe hinzu, kommt auch die o.g. Fehlermeldung Scanner und Kombinationsfeld... :mad:
     
    Anna Karl, 20. Mai 2025
    #3
  4. Doming
    Doming Erfahrener User

    Scanner und Kombinationsfeld...

    Hallo,

    Scanner und Kombinationsfeld... upload_2025-5-21_6-7-55.png

    wie Deine Fehlermeldung schon sagt, der gescannte Code ist kein Element der Kombifeld-Herkunftsliste. Vielleicht solltest Du den Barcode in ein Textfeld laden und dort auswerten. Das Ergebnis dann an das Kombifeld weiterleiten.
     
    Doming, 21. Mai 2025
    #4
  5. Hallo Domnig,
    ich habe mich für ein Textfeld entschieden um den Barcodeinhalt einzulesen. Jetzt tut sich ein anderes Problem auf:
    In der DB sind die Kennzahlen mit führenden Nullen abgelegt. Lese ich den Barcode ein fehlen die Nullen und jetzt kann ich erst recht nicht nach den abgelegten Kennzahlen in der Kombiliste suchen. Wie kann ich die führenden Nullen beibehalten.
    Ein Eingabeformat hat nicht geklappt, denn das muß die Anzahl der Stellen stimmen. Ich dachte ein Textfeld übernimmt Zahlen als Text. Gäbe es da einen Trick, wie ich die Nullen hinbekomme??
     
    Anna Karl, 22. Mai 2025
    #5
  6. andyfau
    andyfau Erfahrener User
    Hallo Anna,

    zwei Dinge solltest Du nochmal prüfen:
    - hat das Feld in das Du den Codestring einliest tatsächlich den Typ String?
    - Gibt der Scanner tatsächlich die führenden Nullen mit aus? Leicht zu testen, indem Du einen Text- oder besser einen Hexeditor öffnest und dann mal scannst.
     
    andyfau, 22. Mai 2025
    #6
  7. Doming
    Doming Erfahrener User
    Hm, versteh ich nicht. Schriebst Du nicht, dass der Scanner )SC20000000766 auswirft? Das ist doch kein numerischer Wert. Genauso wie mid/left/right auch Strings ausgeben. Right(Me.Textfeld, Len(Me.Textfeld)-3 gibt dann doch '0000000766' raus?

    Zur Not könnte man noch die führenden Nullen mit einer Abfrage wegbeamen und diese dann als Herkunft für das Kombifeld heranziehen (unsichtbare Spalten)

    Zeig doch mal anhand von Beispielen und Deinen Codeschnipseln, wie Du da aktuell vorgehst.
     
    Doming, 22. Mai 2025
    #7
  8. Scanner und Kombinationsfeld...

    Hallo Domnig,
    Also ich habe versucht in den Eigenschaften des Kombinationsfeld "NurListeinträge = Nein" einzustellen geht aber nicht, da die gebundene Spalte (ID als Autowert und Primärschlüssel) es nicht zuläßt. Also habe ich als gebundene Spalte jene ausgesucht die die gesamte Kennzahl anzeigen soll. Ich lese zuerst in einTXTFeld die gescannte Nummer ein und übergebe sie dann an das Kombinationsfeld. Jetzt wird die Zahl übernommen aber die führenden Nullen sind weg! Nur dann funktioniert die Abfrage nicht mehr, wenn aus 0000000663 nur mehr 663 wird.
    Was ist eigentlich der Unterschied zwischen control.Value und control.Text.
    LG
    Anna
     
    Anna Karl, 24. Mai 2025
    #8
  9. Scanner und Kombinationsfeld... upload_2025-5-24_20-47-42.png
    Das wird angezeigt wenn die Gebundene Spalte auf 1 steht
    Wenn ich die Eigenschaft auf 2 einstelle, funktioniert die Übergabe aber ohne führende Nullen:
    Scanner und Kombinationsfeld... upload_2025-5-24_20-50-21.png
     
    Anna Karl, 24. Mai 2025
    #9
  10. andyfau
    andyfau Erfahrener User
    Bei den verwirrenden Angaben kann man keinen Lösungsvorschlag machen. Ebenfalls die Frage: Hast Du denn die vorgeschlagenen Tests mal durchgeführt? Lade doch mal eine abgespeckte Version den DB hoch.
     
    andyfau, 25. Mai 2025
    #10
  11. Ich kann leider keine besseren Angaben machen, ich habe alles versucht. Sogar ohne einen Scanner mit direkter Eingabe der originalen Kennzahlen funktioniert's nicht.
    Ich lade mal die ganze DB hoch.
     
    Anna Karl, 25. Mai 2025
    #11
  12. andyfau
    andyfau Erfahrener User
    Das Kombifeld Kennzahl hat als Steuerelemteinhalt ein numerisches Tabellenfeld. Das impliziert eine automatische Umwandlung eines Strings in einen numerischen Wert, wenn der Wert des Strings einen numerischen Inhalt hat. Als gebundene Spalte referenzierst Du auch die ID also einen numerischen Wert. Den zeigst Du aber nicht im Kombifeld, sondern Du zeigst den String, Spalte2,ein anderes Feld. Dann übergibst Du den String in das gebundene Feld, was nicht funktionieren kann. Das Problem liegt darin, dass Du mit einem gebundenen Kombifeld gleichzeitig suchen möchtest. Das ist unglücklich. Überlege den Workflow im Formular nochmal neu.
    Was mir auch aufgefallen ist. Du rufst in deinem Code Ereignisprozeduren in anderen Ereignisprozeduren auf. Das ist ebenfalls sehr ungllücklich, weil so der Ereignisablauf des Formulars verdreht wird, was zu unvorhersehbaren Ergebnissen führt.
     
    andyfau, 25. Mai 2025
    #12
  13. Scanner und Kombinationsfeld...

    Hallo Andyfau,
    danke für Deine rasche Analyse. Der Code ist durch das viele Probieren verunstaltet. Was ich aber nicht ganz kapiere ist die Sache mit dem Kombifeld. Ich habe geglaubt, dass ich im Feld edScan den String an das Kombifeld übergeben kann, weil ja dort der Text der 2. Spalte angezeigt wird. Ich muß gestehen, dass mit gebundenen Spalten habe ich nicht ganz kapiert. So bin ich der Meinung, die wird nur zur Verknüpfung der verschiedenen Tabellen verwendet und der angezeigte Wert (ob Text oder Zahl) kann weiterverarbeitet werden.
    Dann räume ich mal den Code auf.
    Was das Aufrufen einer Ereignissprozedur in einer anderen Ereignisprozedur betrifft: Ich dachte das hilft mir Code zu sparen (bsp: in cmbKennzahl_Change() rufe ich cmbKennzahl_AfterUpdate() auf)
    Wie ich sehe hab ich noch einiges zu lernen!!!
    LG
    Anna
     
    Anna Karl, 25. Mai 2025
    #13
  14. Doming
    Doming Erfahrener User
    Hallo,
    gebundene Spalte beim Kombifeld:
    Ein Kombifeld kann mehrere Spalten anzeigen. Die Breite der Felder kann man einstellen. Wenn das KFeld zB 2 Felder darstellen (Vor/Nachname), stellt man die Breite möglicherweise auf 2,5cm;2,5cm ein, wenn das man eine Gesamtbreite von 5cm hat. Meistens nimmt man aber den Primärschlüssel der Datenherkunft mit auf, bindet also da Kombifeld an das Primärfeld. Da aber niemand das Zahlenfeld sehen soll/will, macht man es unsichtbar. Das macht man dadurch, dass die Breite für die Spalte auf 0 setzt. Dabei ist es egal, welche Spalte die primäre ist, also zB Vor/Nachname und ID - gebundene Spalte 3, Breite dann 2,5cm;2,5cm;0cm
    Gruß
    Doming
     
    Doming, 25. Mai 2025
    #14
  15. Danke!!
     
    Anna Karl, 25. Mai 2025
    #15
Thema:

Scanner und Kombinationsfeld...

Die Seite wird geladen...
  1. Scanner und Kombinationsfeld... - Similar Threads - Scanner Kombinationsfeld

  2. Word öffnet meinen Scann nicht

    in Microsoft Word Hilfe
    Word öffnet meinen Scann nicht: Hallo liebe Community, wenn ich ein Dokument einscanne, kann ich es nicht mit Word öffnen. Ich habe Office 365 und Win11 Mein Drucker: Brother MFC-9332CDW. Diese Meldung habe ich erhalten....
  3. Scannen mit Zeitstempel und ergänzen dieser bei erneutem Scan

    in Microsoft Excel Hilfe
    Scannen mit Zeitstempel und ergänzen dieser bei erneutem Scan: Hallo ich möchte in einem Excel Arbeitsblatt mit Scanner Barcodes (nummerisch) erfassen. Dies soll "ohne Userkontrolle" funktionieren, weshalb nur Spalte A Freigegeben ist und das restl. Blatt...
  4. Barcode scannen, vergleichen und Blatt 2 einfügen

    in Microsoft Excel Hilfe
    Barcode scannen, vergleichen und Blatt 2 einfügen: Hallo ich bin auf der Suche für ein Makro. Bin jedoch bzgl. Makro ein Anfänger. Ich habe zwei Arbeitsblätter. Im Blatt "Akkreditierung" sind allen Namen ein Barcode zugeordnet. In Blatt "Tag00"...
  5. Zum Hinzufügen von Kontakten scannen oder tippen

    in Microsoft Outlook Tutorials
    Zum Hinzufügen von Kontakten scannen oder tippen: https://eus-streaming-video-rt-microsoft-com.akamaized.net/24edcc39-5708-4517-b215-2261baffcfcf/49f642a1-bad3-44c2-bf7b-43a7e8a5_3400.mp4 Probieren Sie es aus! Verwenden Sie Office...
  6. Scannen und Bearbeiten eines Dokuments

    in Microsoft Word Tutorials
    Scannen und Bearbeiten eines Dokuments: Scannen und Bearbeiten eines Dokuments Word für Microsoft 365 Word 2019 Word 2016 Word 2013 Word 2010 Word 2007 Mehr... Weniger...
  7. Scannen von Dokumenten in WORD-Datei

    in Microsoft Word Hilfe
    Scannen von Dokumenten in WORD-Datei: Servus, ich möchte Notenvorlagen, Bilder und Texte in eine WORD-Datei einscannen. Ich nutze Office 2016 und einen Drucker BROTHER MFC-9142CDN unter Windows 10 In den ganzen Menüs für Word finde...
  8. div. Barcodes scannen und aufsummieren

    in Microsoft Excel Hilfe
    div. Barcodes scannen und aufsummieren: Hallo, ich arbeite fast nie in Excel, daher stehe ich jetzt echt vor einer Herausforderung. Ich hoffe ich kann meine Frage verständlich formulieren. Ich habe unterschiedliche Kartons mit...
  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