JeanWM Posted February 17, 2003 Posted February 17, 2003 Ik vind een bestand met 1 veld per record.(+ 500 records) De gegevens zijn gescheiden door een "|", en kunnen zowel cijfers als letters/tekst zijn van verschillende 'lengte'. Ik vermoed dat de gegevens uit een 'oude' Lotus123 file komen. De file is een originele FM2 file, omgezet via FM3 naar FM5. Per veld zou het blijkbaar om 7 verschillende gegevens gaan. Welke is de 'beste/gemakkelijkste' manier om deze gegevens in 7 afzonderlijke velden te krijgen ? Quote
0 HJK Posted February 17, 2003 Posted February 17, 2003 Gebruik de functie Subsitute om de "|" in alle records te vervangen door een "," daarna dit veld exporteren als csv. Daarna deze csv opnieuw importeren in een nieuwe database! En zo zijn er nog een aantal mogelijkheden! Quote
0 Stef Posted February 17, 2003 Posted February 17, 2003 Dag Jean, Veld met pipes= "string" in dit voorbeeld Veld1: Left(string;Position( string; "|" ; 1; 1)-1) Veld2: Middle( string; Position( string; "|" ; 1; 1)+1; Position( string; "|" ; 1; 2) - Position( string; "|" ; 1; 1)-1) Veld3: Middle( string; Position( string; "|" ; 1; 2)+1; Position( string; "|" ; 1; 3) - Position( string; "|" ; 1; 2)-1) En ga zo maar door tot veld 6 Veld7: Right( string; Length(string)-Position( string; "|" ; 1; 6)) HTH, Stef Quote
0 JeanWM Posted February 17, 2003 Author Posted February 17, 2003 Dat was snel.... Bedankt. Was eerst bezig volgens HJK's idee, maar switch nu over naar Stef voorstel, maar dan via scripts. Heb nog gelijkaardige files gevonden, maar dan gaande tot zelfs 72 # gegevens in 1 veld. TX. Quote
0 AvD Posted February 17, 2003 Posted February 17, 2003 Wanneer gaan we nu eindelijk eens een vraag krijgen die maar op één enkele manier opgelost kan worden ? Mijns inziens is dát de grote kracht van FileMaker tegenover bijvoorbeeld A...s: hier kan je je echt creatief uitleven! PS Zeg Jean, waarom ga je eigenlijk via scripts? Stef's oplossing is toch perfect en geeft je toch meteen het gewenste resultaat zonder je oorspronkelijk veld te wijzigen (ie te beschadigen). Quote
0 JeanWM Posted February 17, 2003 Author Posted February 17, 2003 Zoals ik al zei : DE oplossing, niet dikwijls, EEN oplossing, altijd. Ja André, de oplossing van Stef is inderdaad perfect, maar het 'opsplitsen' is eigenlijk maar een deel van een groter geheel. Na het opsplitsen zou er manueel nog wat moeten aangepast worden. Vermits ik niet graag steeds hetzelfde herhaal (in bewerkingen) zoek ik nogal snel naar een mogelijke scriptuitvoering. Met een script kan ik nu data in een veld krijgen, een controle laten uitvoeren, een opsplising voor het volgende veld, de controle, enz. De waarde in sommige velden hangt af van de waarde uit de opsplitsing, die dan weer afhangt van een waarde in een veld in een ander bestand dat uit een opsplitsing komt, dan gaan we naar het volgende veld en de procedure wordt herhaald, enz. per veld. Als ik nu de opsplitsing via scripts doe lopen, verkrijg ik tegelijkertijd de controle en de aanpassing, en hoef ik achteraf geen manuele aanpassing meer te doen. Het feit dat ik geen export/import meer moet doen is eigenlijk DE oplossing.... Quote
Question
JeanWM
Ik vind een bestand met 1 veld per record.(+ 500 records)
De gegevens zijn gescheiden door een "|", en kunnen zowel cijfers als letters/tekst zijn van verschillende 'lengte'.
Ik vermoed dat de gegevens uit een 'oude' Lotus123 file komen.
De file is een originele FM2 file, omgezet via FM3 naar FM5.
Per veld zou het blijkbaar om 7 verschillende gegevens gaan.
Welke is de 'beste/gemakkelijkste' manier om deze gegevens in 7 afzonderlijke velden te krijgen ?
5 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.