rsmits Geplaatst: 14 december 2005 Delen Geplaatst: 14 december 2005 Waarom is er geen 'Loop' functie in FileMaker 8 die je kunt gebruiken in een auto-calculation?? Ik heb eigenlijk een loop functie nodig omdat ik uit een repeatingfield van 4 vakjes de waarde wil lezen. Met een loop functie wil ik dan repeatingField[X] uitlezen. Waarbij X opgehoogt moet worden tot 5 middels een loopje of iets dergelijks. Heeft iemand een idee hoe ik dit moet bewerkstelliggen zonder dat ik een loop functie nodig heb? Quote Link naar reactie
0 Gido_ Geplaatst: 14 december 2005 Delen Geplaatst: 14 december 2005 Mogelijk met een custom functie toch, denk ik hoor, voor bepaalde toepassingen. Het fijne ervan laat ik aan de specialisten, maar bekijk het al eens als je een Pro Advanced versie moest hebben. Quote Link naar reactie
0 rsmits Geplaatst: 14 december 2005 Auteur Delen Geplaatst: 14 december 2005 waar kan ik zo'n custom function vinden? google levert niks op.... Quote Link naar reactie
0 rmw Geplaatst: 14 december 2005 Delen Geplaatst: 14 december 2005 Als je repeating field precies 4 repetitions heeft, dan is een loop toch niet nodig? Je kan gewoon herhaling 1-4 achter elkaar zetten. Pas als je een variabel aantal nodig hebt is een loop interessant. En FM kan geen variabel aantal herhalingen aan... rmw Quote Link naar reactie
0 rsmits Geplaatst: 14 december 2005 Auteur Delen Geplaatst: 14 december 2005 (aangepast) Als je repeating field precies 4 repetitions heeft, dan is een loop toch niet nodig? Je kan gewoon herhaling 1-4 achter elkaar zetten. Pas als je een variabel aantal nodig hebt is een loop interessant. En FM kan geen variabel aantal herhalingen aan... rmw Ok, maar dan krijg ik een onnodig lang auto-enter calculation. Vooral als ik het vergelijk als ik hetzelfde script in een andere scripttaal moet maken.... 14 december 2005 aangepast door Gast Quote Link naar reactie
0 rmw Geplaatst: 14 december 2005 Delen Geplaatst: 14 december 2005 Ik begrijp het niet helemaal. In je eerste vraag heb je het over een auto-calculation En in je laatst antwoord over een script. Scripts hebben wel loops en een auto-calculation kan gewoon 4 herhalingen aan een rijgen. rmw Quote Link naar reactie
0 rsmits Geplaatst: 14 december 2005 Auteur Delen Geplaatst: 14 december 2005 Hmmm onderstaande pikt hij niet. De waarde wordt gewoon in het repeatingfield begintijd[1] bijgeschreven. Het is een repeatingfield van 4 velden het type is 'text'. Het script is een auto-enter calculation. Let ( begin = Case ( PatternCount ( begintijd[1] ; "." ) > 0 or PatternCount ( begintijd[1] ; ";" ) > 0 or PatternCount ( begintijd[1] ; "," ) > 0 ; Substitute ( Substitute ( Substitute ( begintijd[1] ; "." ; "," ) ; ";" ;"," ); "," ; "," ); begintijd[1] & ",00") ; If(begin = "0,00"; begin; If(Length(begin) = 4; begin & "0" ; If(Length(begin) = 3; begin & "0" ; If(Length(begin) = 2; begin & ",00"; begin) ) ) ) ) & Let ( begin = Case ( PatternCount ( begintijd[2] ; "." ) > 0 or PatternCount ( begintijd[2] ; ";" ) > 0 or PatternCount ( begintijd[2] ; "," ) > 0 ; Substitute ( Substitute ( Substitute ( begintijd[2] ; "." ; "," ) ; ";" ;"," ); "," ; "," ); begintijd[2] & ",00") ; If(begin = "0,00"; begin; If(Length(begin) = 4; begin & "0" ; If(Length(begin) = 3; begin & "0" ; If(Length(begin) = 2; begin & ",00"; begin) ) ) ) ) Quote Link naar reactie
0 RON7 Geplaatst: 14 december 2005 Delen Geplaatst: 14 december 2005 Een beetje lager zoeken vandaag http://www.clarify.net/viewtopic.php?p=20716 Custom creeer je eigenlijk een loop in je functie ,dank en lof aan Koen voor de aanpassing en de toegevoegde custom Quote Link naar reactie
0 rsmits Geplaatst: 14 december 2005 Auteur Delen Geplaatst: 14 december 2005 (aangepast) Daar kan ik wel wat mee! Maar hoe kan ik in filemaker 8 een custom functie maken? Ik zie het al....dat kan alleen met FM8 Pro Advanced... 14 december 2005 aangepast door Gast Quote Link naar reactie
0 RON7 Geplaatst: 14 december 2005 Delen Geplaatst: 14 december 2005 Dat kan enkel met de Advanced versie van 8 Quote Link naar reactie
0 rsmits Geplaatst: 14 december 2005 Auteur Delen Geplaatst: 14 december 2005 precies Kan het echt niet met FM8 Pro opgelost worden? Misschien op een andere manier? Quote Link naar reactie
0 RON7 Geplaatst: 14 december 2005 Delen Geplaatst: 14 december 2005 Kan wel,als je enkel vier herhalingen hebt.Je zou bvb 4 variabelen kunnen toewijzen aan elke herhaling.Dmv de case kan je dan de waarde aan de betreffende variabele en daarmee ook aan de juiste herhaling toekennen. Quote Link naar reactie
0 rsmits Geplaatst: 14 december 2005 Auteur Delen Geplaatst: 14 december 2005 Ik doe een import records... Hoe kan ik testen in welk repeatingveld hij gaat schrijven? Ik heb namelijk de Case functie geprobeerd alleen hij schrijft alleen maar in de 1e repeatingfield. Case ( begintijd[1] ; Let ( begin = Case ( PatternCount ( begintijd[1] ; "." ) > 0 or PatternCount ( begintijd[1] ; ";" ) > 0 or PatternCount ( begintijd[1] ; "," ) > 0 ; Substitute ( Substitute ( Substitute ( begintijd[1] ; "." ; "," ) ; ";" ;"," ); "," ; "," ); begintijd[1] & ",00") ; If(begin = "0,00"; begin; If(Length(begin) = 4; begin & "0" ; If(Length(begin) = 3; begin & "0" ; If(Length(begin) = 2; begin & ",00"; begin) ) ) ) ) ; begintijd[2] ; Let ( begin = Case ( PatternCount ( begintijd[2] ; "." ) > 0 or PatternCount ( begintijd[2] ; ";" ) > 0 or PatternCount ( begintijd[2] ; "," ) > 0 ; Substitute ( Substitute ( Substitute ( begintijd[2] ; "." ; "," ) ; ";" ;"," ); "," ; "," ); begintijd[2] & ",00") ; If(begin = "0,00"; begin; If(Length(begin) = 4; begin & "0" ; If(Length(begin) = 3; begin & "0" ; If(Length(begin) = 2; begin & ",00"; begin) ) ) ) ) ; begintijd[3] ; "bla" ; "" ) Quote Link naar reactie
0 RON7 Geplaatst: 14 december 2005 Delen Geplaatst: 14 december 2005 Kan je geen Vb'tje posten.Nu praat je over een import,misschien kan je alles op een heel andere manier aanpakken en gewoon van 1 tabel naar de andere schrijven (in de velden die je wil en waar je het wil) Quote Link naar reactie
0 GlV Geplaatst: 14 december 2005 Delen Geplaatst: 14 december 2005 Kan je eens een voorbeeld geven wat je nu eigenlijk wil bereiken vb van de input data vb van de output data misschien kunnen we dan wel iets verzinnen mvg Glenn Quote Link naar reactie
0 rsmits Geplaatst: 15 december 2005 Auteur Delen Geplaatst: 15 december 2005 Ok ik zal mijn probleem beter omschrijven. Ik ben bezig met het omzetten van een FM5 systeem naar FM8. Nu heb ik een tabel met projecten. Een project kan meerdere begintijden hebben (maximaal 4). Die begintijden staan in 4 repeatingfields met als naam 'begintijd'. Het omzetten geschied op een lokaal werkstation. Het FM5 systeem draait ook nog gewoon gedurende het omzetten. Nu moeten alle gegevens uit het FM5 systeem naar FM8. Het inlezen van deze gegevens die ik via 'import records' --> CSV file. Na het inlezen moeten de begintijden omgezet worden. Oude waarde: Nieuwe waarde: 17 17,00 15,5 15,50 8,5 08,50 1,25 01,25 Het omzetten wil ik realiseren middels de auto-enter calculation functie. Maar alleen de 1e waarde (begintijd[1]) wordt omgezet en de volgende niet. Ze worden wel goed ingelezen vanuit het CSV bestand, maar niet omgezet naar de nieuwe waarde. Quote Link naar reactie
0 rmw Geplaatst: 15 december 2005 Delen Geplaatst: 15 december 2005 Maar alleen de 1e waarde (begintijd[1]) wordt omgezet en de volgende niet. Bij een auto-enter kan je ook niet opgeven voor welke herhaling deze moet gelden. En bij geen specificatie van de herhaling neemt FM de eerste. Ik ben bang dat je dit moet scripten. Een wens voor de volgende versie?? rmw Quote Link naar reactie
0 rsmits Geplaatst: 15 december 2005 Auteur Delen Geplaatst: 15 december 2005 Maar alleen de 1e waarde (begintijd[1]) wordt omgezet en de volgende niet. Bij een auto-enter kan je ook niet opgeven voor welke herhaling deze moet gelden. En bij geen specificatie van de herhaling neemt FM de eerste. Ik ben bang dat je dit moet scripten. Een wens voor de volgende versie?? rmw Is het dan misschien iets om de gegevens in te lezen en daarna een script te laten lopen die de begintijden omzet naar de gewenste nieuwe waardes. Quote Link naar reactie
0 RON7 Geplaatst: 15 december 2005 Delen Geplaatst: 15 december 2005 Daar het dus een eenmaile import is zou ik het herhalend veld importeren naar een veld oude waarde in 8.Maak een simpel loopscript en gebruik telkens setfield(nieuwewaarde) en getrepetition(oudewaarde) met hun respectievelijke herhalingen. Quote Link naar reactie
Vraag
rsmits
Waarom is er geen 'Loop' functie in FileMaker 8 die je kunt gebruiken in een auto-calculation??
Ik heb eigenlijk een loop functie nodig omdat ik uit een repeatingfield van 4 vakjes de waarde wil lezen.
Met een loop functie wil ik dan repeatingField[X] uitlezen. Waarbij X opgehoogt moet worden tot 5 middels een loopje of iets dergelijks.
Heeft iemand een idee hoe ik dit moet bewerkstelliggen zonder dat ik een loop functie nodig heb?
Link naar reactie
18 antwoorden op deze vraag
Aanbevolen berichten
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.