none
Zeichen im Textfeld

    Frage

  • Access 2010

    Hallo

    es hat sich ein Tabsprung am Anfang eines Textfeldes (Nachname) eines einzigen Datensatzes eingeschlichen, welcher nicht auf den 1. Blick im Formular oder bei der Ausgabe in einen Bericht erkennbar ist. Wir haben es gemerkt, weil der Datensatz nicht mehr korrekt sortiert wurde.

    Niemand wieß, wie der darein gekommen ist, also kann es passieren, dass es nochmal passiert.

    Meine Frage: kann ich diesen Tabsprung (ich nehme an, es ein Tabsprung, ich habe eine Einrückung über debug.print vor dem entsprechenden Nachnamen entdeckt) über eine Funktion wie z.B. Trim() direkt im SQL Statement entfernen?


    Liebe Grüße, die Luzie!

    Montag, 18. November 2013 16:08

Alle Antworten

  • Du kannst alles was nicht aA-zZ oder 0-1 ist ausschließen. Als Idee
    zur Umsetzung könnte das hier schon helfen:
    http://forum.freeaccess.de/YaBB.pl?num=1122014094/0

    Servus
    Winfried

    Gruppenrichtlinien
    WSUS Package Publisher
    HowTos zum WSUS Package Publisher

    Montag, 18. November 2013 18:36
  • Das passiert gerne wenn etwas über die zwischenablage in ein Textfeld kopiert wird (STRG-C  STRG-V)

    Adresse aus Internet oder aus Datei Kopiert

    Montag, 18. November 2013 18:53
  • Hallo

    danke für die Antworten.

    Es muss wohl beim Kopieren aus einer fremden Datei übertragen worden sein.

    Also das Feld sollte schon mit allen sichtbaren Zeichen beschrieben werden dürfen, nicht nur a-z und 0-1.

    Wenn ich jetzt wirklich eine Gültigkeitsregel für das Feld erstelle, das mir die "nicht sichtbaren" Zeichen anmeckert, weiß ich nicht, ob ein einfaches Überschreiben und Löschen des Feldes hilft und wir nicht mit diesen Gültigkeitsregel-Fehlermeldung bombardiert werden? Das habe ich nämlich probiert, man bekommt das Zeichen nicht durch einfaches Löschen so aus dem Feld heraus. Es geht nur, wenn ich es mit einem Updatestatement überschreibe.

    Wie kann ich feststellen, was es für ein Zeichen ist? Gibt es da eine Möglichkeit?


    Liebe Grüße, die Luzie!

    Dienstag, 19. November 2013 07:53
  • Evtl. kommst du hiermit weiter

    http://www.vbarchiv.net/tipps/tipp_2205-sonderzeichen-aus-einem-string-entfernen.html

    bisschen umbauen und du kannst dir die zeichen damit auch ausgeben lassen und so feststellen welche das sind und die dann eben ersetzen oder löschen

    Dienstag, 19. November 2013 08:43
  • Am 19.11.2013 schrieb Luzie:

    Also das Feld sollte schon mit allen sichtbaren Zeichen beschrieben werden dürfen, nicht nur a-z und 0-1.

    Wenn ich jetzt wirklich eine Gültigkeitsregel für das Feld erstelle, das mir die "nicht sichtbaren" Zeichen anmeckert, weiß ich nicht, ob ein einfaches Überschreiben und Löschen des Feldes hilft und wir nicht mit diesen Gültigkeitsregel-Fehlermeldung bombardiert werden? Das habe ich nämlich probiert, man bekommt das Zeichen nicht durch einfaches Löschen so aus dem Feld heraus. Es geht nur, wenn ich es mit einem Updatestatement überschreibe.

    Wenn Du das eigentlich Feld mit dem eigentlichen Feldinhalt updatest
    funktioniert es?


    Servus
    Winfried

    Gruppenrichtlinien
    WSUS Package Publisher
    HowTos zum WSUS Package Publisher

    Dienstag, 19. November 2013 17:12
  • Am 19.11.2013 schrieb Luzie:

    Wenn Du das eigentlich Feld mit dem eigentlichen Feldinhalt updatest

    funktioniert es?


    Hallo,

    das habe ich noch nicht probiert, ich habe das Feld dann immer neu beschrieben wie:

    update taAdressen set nachname="Schmidt" where kdnr=12345

    Aber das Problem ich kein Problemchen mehr, es tauchen immer mehr Adressen auf, die via Copy in das Feld eingefügt worden sind.

    Ich will mal schauen, ob ich die Zeichen mit dem vbarchiv Tipp herausbekomme.

    Man bekommt die Zeichen übrigens doch im Feld entfernt und zwar mit der Rücktaste, wenn das Feld komplett gelöscht ist.


    Liebe Grüße, die Luzie!

    Mittwoch, 20. November 2013 07:04
  • Hallo Luzie
     
    Ja, solche Sonderzeichen lassen sich mit Replace() ersetzen:
     
    UPDATE DeineTabelle SET DeinFeld =
    Replace(Replace(Replace(Replace(Replace(DeinFeld, Chr(9), ''), Chr(10),
    ''), Chr(11), ''), Chr(12), ''), Char(13), '')
    WHERE DeinFeld IS NOT NULL
     
    Damit sollten die wichtigsten, welche über Tastatur Kominationen (zB. Ctrl
    + Tab, oder Ctrl + Enter, etc.) eingegeben werden können, weggeputzt
    werden.
     
    Ich würde allerdings dies beim Form_BeforeUpdate machen, damit gar nie
    sowas einkommt.
     
    Gruss
    Henry
     
    PS:
    - Chr(9): <horizontaler Tabulator>
    - Chr(10): <neue Zeile>
    - Chr(11): <vertikaler Tabulator>
    - Chr(12): <neue Seite>
    - Chr(13): <Zeilen Rücksprung>
    Diese Zeichen werden je nach Programm unterschiedlich/ähnlich gehandhabt.
     "Luzie" schrieb im Newsbeitrag
    news:f70fe5a3-b6df-457a-9d8a-09c452bcb58c@communitybridge.codeplex.com...
    > es hat sich ein Tabsprung am Anfang eines Textfeldes (Nachname) eines
    > einzigen Datensatzes eingeschlichen, welcher nicht auf den 1. Blick im
    > Formular
    > oder bei der Ausgabe in einen Bericht erkennbar ist. Wir haben es
    > gemerkt, weil der Datensatz nicht mehr korrekt sortiert wurde.
    > Niemand wieß, wie der darein gekommen ist, also kann es passieren, dass
    > es nochmal passiert.
    > Meine Frage: kann ich diesen Tabsprung (ich nehme an, es ein Tabsprung,
    > ich habe eine Einrückung über debug.print vor dem entsprechenden
    > Nachnamen entdeckt)
    > über eine Funktion wie z.B. Trim() direkt im SQL Statement entfernen?
     
     
    Mittwoch, 20. November 2013 09:13