Jump to content
  • 0

tekst vraag


David N

Question

Posted

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 

5 answers to this question

Recommended Posts

  • 0
Posted

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 )
)

 

  • 0
Posted

Beste Menno

Als ik het zo invoer dan krijg ik de 2022-04 getal terug en niet het W getal.

Ook kan het eerste getal soms maar 8 cijfers bevatten

 

David

  • 0
Posted

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"

  • 0
Posted (edited)

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

Edited by rmw
  • 0
Posted

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.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...