Ga naar inhoud
  • 0

tekst vraag


David N

Vraag

Beste kan iemand me helpen om de tekst beginnend met de W ( onderstreept)  hieruit te krijgen ?

V3B-10430 W17005566 2022-04 01 003960362

Lukt me via Middle en aantal doch soms zijn eerste 9 cijfers soms maar 8 en dan klopt mijn berekening niet geheel

De spaties zijn eigenlijk Tab spaties ... ( omdat dit ingelezen wordt met barcode lezer)

David 

Link naar reactie

5 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Zien de codes die je scant er altijd zo uit, m.a.w. wil je altijd het "woord" na de eerste spatie/tab hebben?

Zo ja, dan kan je met position() de posities van de tabs (=char(9)) berekenen en die in de middle()functie gebruiken:

Let ( [ 
	separator = char ( 9 ) ; 
	p1 = Position ( text ; separator ; 1 ; 1 ) + 1 ; 
	p2 = Position ( text ; separator ; p1 ; 1 )
] ; 
	Middle ( text ; p1 ; p2 - p1 )
)

 

Link naar reactie
  • 0

dan is de spatie die volgens jou een tab is geen tab, maar iets anders. Het gaat in mijn advies eigenlijk ook niet om de spatie, maar meer over het patroon van de door jou gescande gegevens en het rekenen met de posities van karakters.

Jij kan die data zien, dus jij zal het juiste patroon moeten herkennen en de formule moeten verwerken. In jouw voorbeeld is de tekst opgesloten tussen 2 spaties, waarvan jij schreef dat het tabs zijn. Probeer het anders eens met spaties of met andere "whitespaces"

Link naar reactie
  • 0

Probeer anders MiddleWords eens

MiddleWords ( text ; 3 ; 1 )

Let er wel op dat je dan overgeleverd bent aan wat FM als woord scheiding ziet. Maar in jou geval zijn streepjes, tabs, spaties en dergelijke vrij zeker.

Wat FM als woord scheiding ziet staat hier https://support.filemaker.com/s/answerview?anum=000023000&language=en_US

 

rmw

aangepast door rmw
Link naar reactie
  • 0

Je kunt ook nog overwegen om dit via de substitute weg te doen;

Substitute ( "V3B-10430 W17005566 2022-04 01 003960362" ;" ";"¶")

dit geeft als resultaat:
V3B-10430
W17005566
2022-04
01
003960362

Waneer je daar een getvalue(Tekst ; nr) omheen zet kun je jouw tekst er uithalen en op dezelfde manier nog eventueel andere componenten uit je barcode destilleren.

getvalue(Substitute ( "V3B-10430 W17005566 2022-04 01 003960362" ;" ";"¶");2)

geeft je: W17005566

Je moet natuurlijk wel de tekst vervangen voor een veldnaam of een variabele

Zo zijn er ook in Filemaker vele wegen die naar Rome leiden.

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...