kaajee Posted October 13, 2004 Posted October 13, 2004 Is het volgende mogelijk? Het op inhoud vergelijken van twee tekst velden, maar op meerdere woorden. vbld: veld 1, (is de bron, hiermee moet MEE vergeleken worden) bevat: kees, piet, jan, hans, frank, henri. veld2 bevat de tekst die voor moet komen in veld1; dus als veld 1 = -De bal moet naar HANS gespeeld worden ---> resultaat 1 (komt voor) -De bal moet naar HANS, KEES, HENRI gespeeld worden, maar niet naar piet en kees ---> 1 (komt voor) --De bal moet naar KLAAS gespeeld worden ---> resultaat 0 (komt niet voor) maar eigenlijk ook: -De bal moet naar KEESjan ---> 1 (komt voor) En? (nog mooier: FM geeft ook aan welke woord of woorden matchen!!) Thx! Quote
0 Theo2 Posted October 14, 2004 Posted October 14, 2004 Maak in FM7 de custom functie Match(Woord1;Woord2) If(Position(Woord2;LeftWords(Woord1;1);1;1)>0;LeftWords(Woord1;1) & "¶";"") & If(IsEmpty(Woord1);"";Match ( MiddleWords(Woord1;2;999); Woord2 )) Het resultaat zal zijn een lijst van woorden die overeenkomen. Delen van woorden worden niet herkend! Quote
0 kaajee Posted October 14, 2004 Author Posted October 14, 2004 match?? Ik zie geen 'match' in mijn FM (5.5). Ik dacht ook dat dit het forum: 'FileMaker 6 en lager' was...... Iemand anders? Quote
0 Koen Van Hulle Posted October 14, 2004 Posted October 14, 2004 Je zal het niet kunnen doen met een simpele calculatie in FileMaker, je zal weldegelijk een script nodig hebben en lopen doorheen je velden. Koen Quote
0 Sanne Posted October 15, 2004 Posted October 15, 2004 Een calculatie in FMP5.5 zou ik niet kunnen bedenken (in FMP7 zijn daar inmiddels zeer fraaie functies voor geschreven). Maar met een script kun je woord voor woord door je veld heen graven en vergelijken. Ik denk dat PatternCount() je grootste vriendje zal zijn. Een paar hulpveldjes, wat stukjes tekst hier en daar apart zetten: gaat dat lukken, Kaajee, of heb je meer hints nodig? Quote
0 Theo2 Posted October 15, 2004 Posted October 15, 2004 het kan wel automatisch in FM5.5 met de volgende formule: If(isempty(Middlewords(veld1;1;1);"";(If(Position(Veld2;Middlewords(veld1;1;1);1;1) > 0;Middlewords(Veld1;1;1)& "¶";"")) & If(isempty(Middlewords(veld1;2;1);"";(If(Position(Veld2;Middlewords(veld1;2;1);1;1) > 0;Middlewords(Veld1;2;1)& "¶";"")) & If(isempty(Middlewords(veld1;3;1);"";(If(Position(Veld2;Middlewords(veld1;3;1);1;1) > 0;Middlewords(Veld1;3;1)& "¶";"")) & If(isempty(Middlewords(veld1;4;1);"";(If(Position(Veld2;Middlewords(veld1;4;1);1;1) > 0;Middlewords(Veld1;4;1)& "¶";"")) & If(isempty(Middlewords(veld1;5;1);"";"Te veel woorden!") Zei het dat er een limiet op het aantal te doorzoeken woorden in Veld1 is. (hierboven dus maximaal 4, eenvoudig te vergroten tot bv 10 of 20.) Quote
0 Koen Van Hulle Posted October 15, 2004 Posted October 15, 2004 Inderdaad, als je maar een beperkt aantal woorden hebt is dit een oplossing. Bij een lange lijst zou ik gaan scripten. Koen Quote
Question
kaajee
Is het volgende mogelijk?
Het op inhoud vergelijken van twee tekst velden, maar op meerdere woorden.
vbld:
veld 1, (is de bron, hiermee moet MEE vergeleken worden) bevat:
kees, piet, jan, hans, frank, henri.
veld2 bevat de tekst die voor moet komen in veld1;
dus als veld 1 =
-De bal moet naar HANS gespeeld worden ---> resultaat 1 (komt voor)
-De bal moet naar HANS, KEES, HENRI gespeeld worden, maar niet naar piet en kees ---> 1 (komt voor)
--De bal moet naar KLAAS gespeeld worden ---> resultaat 0 (komt niet voor)
maar eigenlijk ook:
-De bal moet naar KEESjan ---> 1 (komt voor)
En?
(nog mooier: FM geeft ook aan welke woord of woorden matchen!!)
Thx!
6 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.