Expressie Replace() functie in query tegelijk instellen op meerdere waarden

Status
Niet open voor verdere reacties.

dirkdrent

Gebruiker
Lid geworden
3 jan 2006
Berichten
382
Ik heb een veld met hierin de volgende veldwaarde

BTW|0.93|19#

Nu wil ik alleen dat de nummerieke getallen overblijven echter is dit een variabele dit kunnen tientallen zijn maar ook hondertallen... daarom wil ik gebruik gaan maken van een query in met de replace() functie het eerste gedeelte en het laatste gedeelte niet zichtbaar maken. Ik heb de volgende expressie die goed werkt...

TEST: Replace([BTW over Quantity product];"BTW|";"")

Mijn vraag is, kan ik in 1x alles bijwerken en replacen zonder dat ik nu dus eerste weer een nieuwe expressie moet aanmaken voor 19# te vervangen in "" Heb verschillende dingen geprobeerd maar mij lukt dit niet. Wat ik ook heb geprobeerd is om de eerste 4 tekens van rechts en de eerste 4 tekens van rechts niet weer te geven dit lukt mij wel afzonderlijk maar niet gezamenlijk.

Iemand een oplossing?
 
Ik weet niet of dat Replace wel lukt. Met een combinatie van Mid en Instr lukt het volgens mij wel:

Mid([veld1];InStr([veld1];"|")+1;InStr(InStr([veld1];"|")+1;[veld1];"|")-InStr([veld1];"|")-1)

Rebmog
 
Thanx, dit werkt uitstekend...

Is er nu ook nog een mogelijkheid om bovenstaand expressie te combineren met de replace expressie want ik zou graag de punt (in de getallenreeks) willen vervangen door een komma dus i.p.v. 0.93 moet het dan worden 0,93
 
Ook met Replace kun je bovenstaand probleem oplossen. Je zult dan deze Replace moeten nesten.

Replace(Replace(Replace([veld1];"BTW|";"");"|19#";"");".";",")

De oplossing met replace is eenvoudiger, maar is alleen bruikbaar als de tekst voor de | en na de | altijd gelijk is. Als dat niet zo is, dan is de eerder aangedragen methode met InStr beter bruikbaar.

Rebmog
 
Perfect, de tekst voor en na is in mijn geval gelijk dus zal ik gebruik maken van de replace functie. Bedankt voor uitleg en hulp!

Gr. Dirk
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan