Jump to content
  • 0

Zoek dubbelen met meer dan 20 tekens?


peerke

Question

Posted

Naar aanleiding van het verhaal over 'storing' en 'indexeren' hierbij nog een vraag. Als twee records een veld meer dan 20 tekens bevatten en het verschil in inhoud zit na het 20e teken, herkend filemaker ze als dubbele waarden, terwijl ze wel verschillen. Volgens de help index: "Unieke waarden in tekstvelden worden standaard bepaald op basis van de eerste twintig alfanumerieke tekens van elk woord. U kunt op maximaal zestig tekens (inclusief spaties) zoeken naar unieke waarden in tekstvelden."

Hoe kan ik op dubbelen zoeken met 60 tekens? Natuurlijk kan ik teken 20 tm 40 er uit lichten en daarop zoeken, maar ik wil de mogelijkheid niet uitsluiten dat soms het verschil wel voor het 20e teken zit. Of is de enige mogelijkheid, het opsplitsen van het veld in blokken van 20 tekens en dan naar de combi van dubbelen zoeken?

Peerke

4 answers to this question

Recommended Posts

  • 0
Posted
Of is de enige mogelijkheid, het opsplitsen van het veld in blokken van 20 tekens en dan naar de combi van dubbelen zoeken?

 

Ja, Peerke, volgens mij heb je al zelf helemaal het antwoord op je vraag opgezocht.

 

FileMaker Pro 6 kan aan-elkaar-gesloten teksten indexeren tot 20 tekens. Dus wil je zoeken op dubbele inhouden van velden, dan moet de inhoud van die velden in stukken van maximaal 20 tekens zijn.

 

Voorbeeldje:

Record 1 heeft een veld met als inhoud: 12345678901234567890AAAA

Record 2 heeft de inhoud: 12345678901234567890BBB

 

Beide teksten zijn langer dan 20 tekens en de eerste 20 tekens zijn gelijk: dus deze 2 records worden voor deze veldinhoud als dubbel gezien.

 

Zoeken naar "12345678901234567890AAA" levert je beide records op.

 

Maar is de inhoud nu opgedeeld:

Record 1: 12345678901234567890 AAA

Record 2: 12345678901234567890 BBB

dan worden beide records voor deze inhoud wel als verschillend gezien.

 

Zoeken naar "12345678901234567890 AAA" levert je nu alleen het 1e record op.

 

Ik dacht overigens dat die grens bij een getal ergens anders lag dan 20 karakters.

 

In FileMaker Pro 7 is deze beperking van karakters opgehoogd van 20 naar 100 karakters.

  • 0
Posted
Of is de enige mogelijkheid, het opsplitsen van het veld in blokken van 20 tekens en dan naar de combi van dubbelen zoeken?

Peerke

 

je kan je eerste gevonden reeks ook uitbreiden met de constrain found set. je zou op die manier kunnen zoeken op het volgende blok van x-aantal karakters, enz...

  • 0
Posted

Ook even opletten met de karakters binnen de eerste 20 reeks en de index.....

Vooral bij het maken van keys voor relaties...

 

Soms moet je de 'taal' van de index resetten via Storage Options van de doorgaans gebruikte naar de ASCII om alle tekens terug te vinden in de index...AVD had het erover in een tread (die ik niet onmiddellijk terugvind....)

 

Bij 'normaal' taalgebruik van de index zullen :

12345-678910 en

12345678910

als dezelfde aanzien worden bij een relatiesleutel...

Het ' - ' teken wordt niet opgenomen in de index....indien de 'indextaal' niet op ASCII staat...

Andere tekens zijn oa ! # $ % & / ( ) = ? ¡ ¿ ' en nog een hoop andere....

 

Ik denk dat dit gevaar minder is in FM 7 omdat daar de Unicode Collation Algorithm gebruikt wordt....

  • 0
Posted

Ik had gedacht dat het veld werkelijk opgesplits zou moeten worden, maar een spatie na ieder 20e teken doet het dus ook. Die ASCI-tip was zeer welkom. Wist ik niet, maar was al eens fout gegaan.

Bedankt, Peerke

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