Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Replace(right warum funktioniert es nicht ?

Begonnen von Uwe_Noob, April 15, 2020, 17:11:38

⏪ vorheriges - nächstes ⏩

Uwe_Noob

Hallo,
wenn ich dieses Recodset aufrufen
Set vrsar = CurrentDb.OpenRecordset("Select * from tabverben where right((tabverben.verb),2)='ar')")
Bekomme ich vom debuger den Hinweis
Überzählig: ) in Abfrageausdruck
Was bedeutet das ??
und wo ist der Fehler ?^^
Gruß
Uwe
2 Monate Access ^^

Uwe_Noob

#1
Den ersten Fehler habe ich gefunden
Set vrsar = CurrentDb.OpenRecordset("Select * from tabverben where right(tabverben.verb,2)='ar'")
Aber warum schmeißt VBA bei diesem Code das ganze Wort weg und setzt nur noch ein ein "o" ein ?
.Fields("YO") = Replace((Right(vrsar!yo, 2)), "ar", "o")


2 Monate Access ^^

markusxy

Zitat von: Uwe_Noob am April 15, 2020, 17:25:23
Aber warum schmeißt VBA bei diesem Code das ganze Wort weg und setzt nur noch ein ein "o" ein ?
.Fields("YO") = Replace((Right(vrsar!yo, 2)), "ar", "o")

Scheinbar verstehst du den Code nicht, sonst würdest du das ja erwarten.  ;D
Du verwendest zwei Funktionen.
Right erzeugt erstmal einen String, mit der Länge von zwei Zeichen.
Replace Ersetzt entweder diese beiden Zeichen durch o, oder die beiden Zeichen werden zurückgeliefert.

In solchen Fällen einfach, den Code in Einzelschritte zerlegen und Schritt für Schritt debugen.
Das wäre die wichtigste Fähigkeit für jeden angehenden Programmierer.

OT: Grundsätzlich macht man solche Änderungen wenn es möglich ist direkt per Abfrage.

Uwe_Noob

#3
Moin Markus,

nachdem ich selber noch mal geguckt habe viel es mir wie schuppen von den Augen.
Der Code macht genau das was ich ihm sage aber nicht das was ich gern hätte ^^
Habe ich vergessen zu schließen.

Gruß
Uwe
2 Monate Access ^^