Office: (Office 2016) Sonderzeichen aus String filtern

Helfe beim Thema Sonderzeichen aus String filtern in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, nicht so schnell aufgeben, Du bringst mich um die Chance, meine Fehler zu erkennen und zu korrigieren. In dem Modul fehlt tatsächlich die... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von blabuduwnmdjdsjajsus, 25. Juli 2020.

  1. Sonderzeichen aus String filtern


    Hallo,
    nicht so schnell aufgeben, Du bringst mich um die Chance, meine Fehler zu erkennen und zu korrigieren. In dem Modul fehlt tatsächlich die Deklaration des oRegex-Objektes. Kopiere dies direkt unter den Kopf des Moduls:
    Code:
    Dann sollte es aber klappen. Dann brauchst Du übrigens den Verweis nicht (Late Binding).
    Gruß Thomas
     
    TSchenke, 27. Juli 2020
    #16
  2. Hallo Thomas,

    also so sieht das Modul jetzt aus.

    Option Compare Database

    Public Property Get oRegEx() As Object

    If (pRegEx Is Nothing) Then
    Set pRegEx = CreateObject("Vbscript.Regexp")
    End If
    Set oRegEx = pRegEx

    End Property

    Public Function fReplace(ByVal vText As Variant) As Variant

    Dim cTestPattern As String
    cTestPattern = "[^w0-9 ]*"
    Dim cReplaceString As String
    cReplaceString = ""

    Dim oMatch As Object

    If Len("" & vText) = 0 Then
    fReplace = Null
    Else
    With oRegEx
    .Global = False
    .Pattern = cTestPattern
    Set oMatch = .Replace(vText, cTestPattern, cReplaceString)
    End With
    If oMatch.Count > 0 Then
    fReplace = CStr(oMatch(0))
    Else
    fReplace = Null
    End If
    End If

    Set oMatch = Nothing

    End Function

    aber beim debugging bekomme ich an der stelle, die meldung OBJEKT ERFORDERLICH

    Public Property Get oRegEx() As Object

    If (pRegEx Is Nothing) Then
     
    blabuduwnmdjdsjajsus, 27. Juli 2020
    #17
  3. Hallo,
    sorry, ist schon was länger her, dass ich mich damit befasst habe.
    In den Deklarationsbereich, also unter das "Option Compare Database" des Moduls kopiere bitte noch "Option Explicit" und dann:
    Code:
    Tut mir leid, dass das so kleckerweise kommt. Das sollte es dann aber gewesen sein.
    Gruß Thomas
     
    TSchenke, 27. Juli 2020
    #18
  4. Sonderzeichen aus String filtern

    Hallo,

    grundsätzlich stellt sich doch erstmal die Frage, wie solche Sonderzeichen in deine Tabelle kommen. Möglicherweise sind das auch Codepage-Einstellungen, welche nicht übereinstimmen. Wenn das geklärt ist, könnte man dann auch eine entsprechende Strategie entwicklen, wie bereits vorhandene Strings konvertiert werden könnten und zukünftig so ein Problem von vornherein vermieden wird.

    Vielleicht habe ich das Thema auch falsch verstanden, weil der Titel " Sonderzeichen aus String filtern", also filtern im Sinne von ausfiltern, dauerhaftes Ersetzen (Aktionsabfrage) und "hat vielleicht jemand eine Idee wie ich mit einer Abfrage eine Spalte nach Buchstaben und Zahlen filtern kann ??", was einer Auswahlabfrage mit einer Where-Klausel entspricht, sich ein wenig widersprechen?

    Ulrich
     
    knobbi38, 27. Juli 2020
    #19
  5. Ach ich bin schon sehr dankbar das du mir hilfst.

    also beim debugging bekomme ich nun an der stelle

    Set oMatch = .Replace(vText, cTestPattern, cReplaceString)

    die Fehlermedlung
    Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft
     
    blabuduwnmdjdsjajsus, 27. Juli 2020
    #20
  6. Hallo Ullrich,

    also wie die da reinkommen das haben irgendwelche nach lust und laune eingetragen einige haben die mac adresse 12 23 ... gemacht und einige mit "-" usw und ich wollte nun die tabelle in eine andere tabelle übertragen wo ich eine eingabeformat habe, also künftig nicht mehr Falsche einträge entstehen können.

    nun wollte ich beim übertragen der daten erstmal alles wegfilter was mich stört und dann wenn ich nur 12 zeiche habe, sie dan rüber transferieren. an sich klappt das mit replace() ich wollte nur etwas eleganteres haben, und natürlich dabei etwas dazu lernen.
     
    blabuduwnmdjdsjajsus, 27. Juli 2020
    #21
  7. Hallo,
    Beim Anlagen des Eingabeformats ist zu beachten, ob die Trenn/Füllzeichen (-) mit im Tabellenfeld gespeichert werden oder nicht. Das lässt sich beim Eingabeformat definieren.
    Wenn die zulässigen Sonderzeichen mit gespeichert werden, dürfen diese vor dem Importieren nicht mit Replace entfernt werden.
    Wenn diese Zeichen nicht in der Tabelle gespeichert werden, müssen diese entfernt werden.
     
    gpswanderer, 27. Juli 2020
    #22
  8. Sonderzeichen aus String filtern

    Hallo,
    neuer Versuch. Verwende diese Funktion anstelle der obengenannten:
    Code:
    Quelle:
    Reguläre Ausdrücke - Das VBA-Tutorial
    Habe ich gerade getestet, läuft bei mir.
    Gruß Thomas
     
    TSchenke, 27. Juli 2020
    #23
  9. Hallo,

    ok, aber wenn das MAC Adressen sein sollten, können eh nur Hexadezimalzahlen vorkommen. Das sollte sich leicht mit RegEx extrahieren lassen. VBA.Replace wäre dafür dann der falsche Ansatz, weil viel zu aufwendig.

    Ulrich
     
    knobbi38, 27. Juli 2020
    #24
  10. WOWWW jetzt funktioniert es DANKE dir sehr.
    ich guck mir den code jetzt mal genau an und versuche es zu verstehen.
    tausend dank
     
    blabuduwnmdjdsjajsus, 27. Juli 2020
    #25
  11. Guten Morgen Thomas,

    also anstatt "[^w0-9 ]*" benutze ich "[^a-zA-Z0-9]" weil das sonst die Unterstriche nicht weggefiltert hat.

    kannst du mir kurz ein Feedback geben, ob ich es richtig verstanden habe.

    also mit der Zeile
    "oRegEx.Global = True"
    suchst du nach allen Vorkommen in dem String und nicht nur nach dem ersten was er findet.

    "oRegEx.Pattern = cMuster"
    Hier bekommt das RedEx das suchmuster, also nach was er filtern soll

    "Set Fundstellen = oRegEx.Execute(myString)"
    Und hier bekommt die variable Fundstellen die gefilterten stellen, also die Sonderzeichen in dem Fall,
    Mich verwirrt das hier nur, wieso diese Zeile notwendig ist, da die Variable "Fundstellen" nicht weiter benutzt wird.

    "fReplace = oRegEx.Replace(myString, cErsatz)"
    Zum schluss werden die gefundenen stellen ersetzt, also entfernt in dem Fall
     
    blabuduwnmdjdsjajsus, 27. Juli 2020
    #26
  12. Hallo,
    Du hast in allem Recht. Die Deklaration von "Fundstellen" und die Zeile "Set Fundstellen = oRegEx.Execute(myString)" kann man auskommentieren und die Funktion läuft trotzdem korrekt. Das war mir gestern auch durch den Kopf gegangen, hatte aber keine Zeit, dem nachzugehen. Leider kann ich mich immer nur sporadisch mit solchen Problemen befassen und bin manchmal selbst zu unsicher. Der Fehler steckte schon in dem Beitrag aus dem VBA-Tutorial als überflüssige Zeile, die eine nicht deklarierte Variable "Fundstellen" verwendet. Dein Pattern ist völlig in Ordnung, wenn Du tatsächlich nur die Buchstaben und Ziffern extrahieren möchtest.
    Gruß Thomas
     
    TSchenke, 27. Juli 2020
    #27
  13. Sonderzeichen aus String filtern

    Super Danke.

    Kannst du mir noch zum Schluss sagen wieso du den folgenden Code benutzt hast:

    Private pRegEx As Object

    Public Property Get oRegEx() As Object

    If (pRegEx Is Nothing) Then
    Set pRegEx = CreateObject("Vbscript.Regexp")
    End If
    Set oRegEx = pRegEx

    End Property


    Kann man nicht gleich wie folgt machen?

    Dim oRegEx As Object
    Set oRegEx = CreateObject("Vbscript.Regexp")

    ???
     
    blabuduwnmdjdsjajsus, 27. Juli 2020
    #28
  14. Hallo,
    da kann ich Dir nur das Schlagwort "Kapselung" an den Kopf werfen und als Einstieg für das Selbststudium diesen Link mitgeben:
    https://access.joposol.com/know-how/...mulare-kapseln.
    Mit den Vorteilen kenne ich mich nicht so aus, dass ich Dir das tiefschürfend erklären könnte, sorry, bin leider nur Gelegenheits-Datenbankbastler.
    Gruß Thomas
     
    TSchenke, 27. Juli 2020
    #29
  15. Okay danke für den Link, ich werde mich versuchen da rein zu lesen.

    Ich danke dir sehr für deine Hilfe.

    Gruß Turgay
     
    blabuduwnmdjdsjajsus, 27. Juli 2020
    #30
Thema:

Sonderzeichen aus String filtern

Die Seite wird geladen...
  1. Sonderzeichen aus String filtern - Similar Threads - Sonderzeichen String filtern

  2. Text nach bestimmten Zeichen trennen (variabel)

    in Microsoft Excel Hilfe
    Text nach bestimmten Zeichen trennen (variabel): Hallo, ich habe eine Verständnisfrage bzw. Probleme bei der Formelfindung: Ausgangslage (als Beispiel anbei): in einer Zelle ist ein Text mit Sonderzeichen (nicht immer identisch, kann länger...
  3. Serienbrief Excel Datenquelle

    in Microsoft Word Hilfe
    Serienbrief Excel Datenquelle: Hallo zusammen, ich habe folgendes Problem: In meiner Excel Datenquelle Schreibe ich z.B. 1234567, 1234568 Name Spalte Ref Im Sereienbrief steht dann eine 0 In der alten Doc Version gab es hier...
  4. Excel Buchstaben anderer Länder korekt darstellen

    in Microsoft Excel Hilfe
    Excel Buchstaben anderer Länder korekt darstellen: Guten Tag, ich habe folgendes Problem, ich habe eine Tabelle voll Datensätze mit Namen verschiedener Länder. Die Datensätze wurden mit LibreOffice erstellt, dort wurden diese aus GoogleDocs in...
  5. Exel Sonderzeichen über VBA in Code einfügen

    in Microsoft Excel Hilfe
    Exel Sonderzeichen über VBA in Code einfügen: Für einen Stammbaum habe ich bisher über 400 Personen in Excel erfasst. Zur schnelleren Suche nach zusammenhängenden Personen werden die wesentlichen Daten in eine ListBox (ListPersonen)...
  6. Eingabeproblem nach Sonderzeichen

    in Microsoft Word Hilfe
    Eingabeproblem nach Sonderzeichen: Hallo, ich habe folgendes Problem: nach Eingabe eines Sonderzeichens in Word (Tastenkombination mit ALT) wird statt des anschließenden normal eingegebenen Zeichens, das Sonderzeichen wiederholt...
  7. Sonderzeichen finden per VBA

    in Microsoft Excel Hilfe
    Sonderzeichen finden per VBA: Liebes Forum! Ich habe ein Problem. Sonderzeichen (SZ) per VBA bei Eingabe überprüfen. In einem Tabellenblatt (Datei 1) habe ich ein Auswahlfeld (B1) mit Kurzbezeichnungen. Aus dieser Auswahl...
  8. Sonderzeichen für Gültigen Dateinamen elemeniren

    in Microsoft Excel Hilfe
    Sonderzeichen für Gültigen Dateinamen elemeniren: Hallo miteinander, in Spalte C stehen bei mir Namen mit Projekt nummern, blöderweise können Projektnummern Sonderzeichen enthalten wirklich alles,es gibt keine Richtlinie dafür leider. ich...
  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