Hallo zusammen,
im Anhang eine Beispiel-DB.
Ich möchte das wenn das letzte Zeichen eines Strings ein "Komma" oder wie im Datensatz 6 zusätzlich ein "Leerzeichen" ist, diese(s) entfernt werden/wird.
Ich habe diverse Hinweise aus dem Internet verfolgt und probiert, aber ein Ergebnis konnte ich mangels Kenntnisse nicht umsetzen.
Kann mir jemand von Euch behilflich sein zum Ergebnis zu kommen?
Gruß Torsten.
Hallo,
Bschr ist ja ein Feldname und muss demzufolge in ein [] Klammerpaar.
So klappt es:
Links([bschr];InStrRev([bschr];",")-1)
Das Leerzeichen ist dann auch weg.
Hi,
tritt nicht ein Fehler auf, wenn es kein Komma gibt?
iif(instrrev([bschr];",") > 0;(Links([bschr];InStrRev([bschr];",")-1); [bschr])
Harald
@Harald,
Du hast recht, aber es gibt keinen Fehler, es sind ja mehrere Kommas vorhanden. Es führt dann aber zu einem falschen Ergebnis.
Mit Deiner Formel geht es auch nicht, denn es wird ja in jedem Fall ein Komma gefunden.
Da müssen wir noch mal nachdenken. ;D
Hi,
Zitat von: MzKlMu am Dezember 29, 2014, 11:06:28
mehrere Kommas
dann für "rechteste" Komma: iif(right([bschr];1) = ",";(Links([bschr];InStrRev([bschr];",")-1); [bschr])
Harald
Hallo,
geht auch nicht, denn in DS 6 ist ja ein Leerzeichen zum Schluss, das heißt da bleibt das Komma dann stehen, weil das Leerzeichen entfernt wird.
Ich habe folgenden Vorschlag:
Links([bschr];Länge(Glätten([bschr]))+(Rechts(Glätten([bschr]);1)=","))
Bin gerade dabei zu prüfen - melde mich sobald ich mehr weiß.
Torsten.
Hallo,
du kannst auch eine VBA-Function für dich arbeiten lassen 8)
Ruf in deinem Beispiel die 'qryBereinigen' dazu auf, die Function befindet sich im Modul 'basFunktionen'
sollte dein gewünschtes Ergebnis liefern können
An euch 3en vielen Dank für die Hilfe.
@Klaus: Funktioniert mit Links([bschr];Länge(Glätten([bschr]))+(Rechts(Glätten([bschr]);1)=","))
@Harald: Habe ich leider nicht zum laufen bekommen iif(right([bschr];1) = ",";(Links([bschr];InStrRev([bschr];",")-1); [bschr])
@Peter: Prima die Bearbeitung direkt in der DB, funktioniert natürlich auch.
@All:
Wenn ich ein "Vielen Dank..." schreibe, spiegelt es eigentlich garnicht den Wert Eurer Hilfe (nicht nur bei dieser Problemstellung) wieder, die Ihr mir da gebt.
Grüße Torsten.
@Harald, @Torsten
hier ist eine öffnende Klammer zu viel:
iif(right([bschr];1) = ",";
(Links([bschr];InStrRev([bschr];",")-1); [bschr])
und ...
Zitat von: MzKlMu am Dezember 29, 2014, 11:06:28
... Es führt dann aber zu einem falschen Ergebnis.
... wenn das letzte Zeichen
kein Komma ist, wird der Text bis zum ersten auffindbaren Komma - von hinten gelesen - abgeschnitten.
Danke Peter,
Du hast eine Klammer bei mir gut ;)
Harald
Hi,
hmmm... mal überlegen wo ich die lagere ;D ;D