collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 51
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 2
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13949
  • stats Beiträge insgesamt: 66291
  • stats Themen insgesamt: 8936
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Suchen mit wildcard und in variable speichern  (Gelesen 1694 mal)

Offline silentwolf

  • Access-Meister
  • ***
  • Beiträge: 785
Suchen mit wildcard und in variable speichern
« am: April 10, 2017, 14:58:35 »
Hallo!

leider komme ich selbst hier nicht weiter und würde hoffen jemand könnte mir diesbezüglich helfen?

Function ReplaceAB(strText As String) As String
Dim strFind As String

strFind = "AB 2015-01-07"

    If strText Like "*AB ####-##-##*" Then
        ReplaceAB = Replace(strText, strFind, "")
    Else
        ReplaceAB = strText
    End If
End Function
Hier ist mein Ansatz... Ich würde gerne einen Text mit wildcard suchen und diese in einer varialbe speichern damit ich diesen gesuchten Text aus meinen Text löschen kann..
?

Irgendwie steh ich auch den Schlauch und komm nicht weiter hab schon im netzt gesucht aber leider nichts passendes gefunden..
Das Problem hier liegt das ich es nicht schaffe den gesuchten Text in einer variable zu speichern...


Danke für Eure Hilfe!

LG
SW
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1768
Re: Suchen mit wildcard und in variable speichern
« Antwort #1 am: April 10, 2017, 16:12:01 »
Hallo,
Zitat
Das Problem hier liegt das ich es nicht schaffe den gesuchten Text in einer variable zu speichern...
???
strFind = "AB 2015-01-07"Bleibt "strFind" leer ?
Kannst du den String nicht als 2. Parameter übergeben?

gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline silentwolf

  • Access-Meister
  • ***
  • Beiträge: 785
Re: Suchen mit wildcard und in variable speichern
« Antwort #2 am: April 10, 2017, 16:53:10 »
Hi Ekkehard,
danke für Deine Nachricht!
Na vielleicht hab ich mich falsch ausgedrückt ..

strFind = "AB 2015-01-07"

dieser Wert kann sich immer ändern bzw. der Text ist in der Spalte ja z.B. AB 201701-01 also ein beliebiges Datum..
Ich würde gerne eine funktion erstellen die mir wenn AB ####-##-## in der Zelle enthalten ist als nehmen wir an AB 2017-01-01 dann lösche mir aus dem Text alle AB 2017-01-01 ... deshalb bräuchte ich diese ja als variable..

Der code von mir liefert im Moment nur das er AB ####-##-## gefunden hat und gibt mir eine msgbox zurück aber wie kann ich diese nun aus meinen Text löschen?

Hoffe das ist etwas besser zum verstehen..?

Gruß
 

Online DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23309
Re: Suchen mit wildcard und in variable speichern
« Antwort #3 am: April 10, 2017, 19:16:45 »
Hallo,

möglichweise suchst Du sowas:

ReplaceAB = Replace(strText, strFind, "AB ")

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1768
Re: Suchen mit wildcard und in variable speichern
« Antwort #4 am: April 10, 2017, 23:52:45 »
Hallo,
Zitat
strFind = "AB 2015-01-07"

dieser Wert kann sich immer ändern bzw. der Text ist in der Spalte ja z.B. AB 201701-01 also ein beliebiges Datum..
Daraus würde ich
strFind = Mid(strFind, 4)
If strText Like "*AB " & strFind & "*" Then
ableiten.
Wahrscheinlich macht aber Franz' Vorschlag das gleiche (habe beides nicht
getestet).
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline silentwolf

  • Access-Meister
  • ***
  • Beiträge: 785
Re: Suchen mit wildcard und in variable speichern
« Antwort #5 am: April 11, 2017, 06:34:01 »
Hallo an Euch beiden...

@Franz leider funktioniert das mit "AB" nicht..
Vielleicht nochmals zum besser verstehen.. strFinde = "AB 2015-01-07" ist nur ein Beispiel und muß nicht im Text enthalten sein kann jedes beliebige Datum in dieser Reihenfolge mit dem AB als beginn der Zeichenkette enthalten sein.
Ich möchte eine Funktion schreiben die mir alle "AB 2015-01-02" oder "AB 2015-02-03" findet und mir diese mit der funktion replace als leere Zeichenkette zurück gibt.. sprich alles was mit AB ####-##-## in einer Zeichenkette enthalten ist soll weg..
Es kann auch vorkommen das diese Zeichenkette AB ####-##-## zweimal in einer Zeichenkette vorkommt deshalb geht das mit der mid funktion nur bedingt beziehungsweise findet er mir ja dann nur das erste oder nicht?

habe nun diesen Code probiert macht aber auch nicht das gewünschte leider
muß leider weg .. werde später mich nochmal damit beschäftigen..


Dim strFind As String

strFind = Mid(strFind, 4)

If strText Like "*AB " & strFind & "*" Then
    ReplaceAB = Replace(strText, strFind, "")
Else
    strText = strText
End If

Irgendwie bekomme ich einfach eine beliebige Zeichenkette nicht in einer variable zwischengespeichert damit ich diese dann einfach verwenden könnte um dann mit replace diese variable aus einen Text zu löschen .(

Gruß
Albert
 

Online DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23309
Re: Suchen mit wildcard und in variable speichern
« Antwort #6 am: April 11, 2017, 13:03:01 »
Hallo,

vermutlich willst Du solches machen:

Function ReplaceAB(strText As String) As String
Dim strFind As String


    If strText Like "*AB ####-##-##*" Then
        strFind = Mid(strText,InStr(strText,"AB "),13)    ' oder 14, je nachdem, ob Leerzeichen berücksichtigt werden soll


        ReplaceAB = Replace(strText, strFind, "")
    Else
        ReplaceAB = strText
    End If
End Function


Offline ebs17

  • Access-Meister
  • ***
  • Beiträge: 883
Re: Suchen mit wildcard und in variable speichern
« Antwort #7 am: April 11, 2017, 13:16:19 »
@Albert: Mustersuche, wenn-dann ... das würde man doch gleich mit dem Original anpacken: Reguläre Ausdrücke

Zitat
Es kann auch vorkommen ...
Daher würde ich auch ungern die Logik von Deiner Lösung ableiten, sondern einen Vorschlag aus der Kenntnis von grenzfälligen Ausgangswerten und dem gewünschten Ergebnis entwickeln wollen.

So pauschal:
Debug.Print RegExReplace(AnyText, "AB \d{4}-\d{2}-\d{2}", "")
Mit freundlichem Glück Auf!

Eberhard
 

Offline silentwolf

  • Access-Meister
  • ***
  • Beiträge: 785
Re: Suchen mit wildcard und in variable speichern
« Antwort #8 am: April 11, 2017, 16:31:39 »
Hallo an Euch alle!
Vielen Dank für Eure Mühe hab es jetzt so gelöst und funktioniert einwandfrei.. kam vorher einfach nicht drauf..

Function ABAusTextEntfernen(strText As String) As String
    Dim intPos As Integer
    Dim strFind As String
   
    intPos = InStr(strText, "AB")
    strFind = Mid(strText, intPos, 13)
   
    ABAusTextEntfernen = Replace(strText, strFind, "")
End Function

Also es ist gelöst!


Vielen Dank nochmal!
 

Offline silentwolf

  • Access-Meister
  • ***
  • Beiträge: 785
Re: Suchen mit wildcard und in variable speichern
« Antwort #9 am: April 11, 2017, 16:39:06 »
@Franz,

ja also fast gleich wie Du.. In meinen Fall prüfe ich die Zelle auf den Inhalt generell da je nach Anforderung eine Formel oder Funktion laufen soll.. Somit wird meine funktion nur aufgerufen wenn ein bestimmter Inhalt gegeben ist..

Na ja wie auch immer .. hatte irgendwie ein Brett vor dem Kopf .. jetzt gehts wieder  ::)

Vielen Dank auch Dir nochmal!