rsmits Posted December 14, 2005 Share Posted December 14, 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 to comment
0 Gido_ Posted December 14, 2005 Share Posted December 14, 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 to comment
0 rsmits Posted December 14, 2005 Author Share Posted December 14, 2005 waar kan ik zo'n custom function vinden? google levert niks op.... Quote Link to comment
0 rmw Posted December 14, 2005 Share Posted December 14, 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 to comment
0 rsmits Posted December 14, 2005 Author Share Posted December 14, 2005 (edited) 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.... Edited December 14, 2005 by Guest Quote Link to comment
0 rmw Posted December 14, 2005 Share Posted December 14, 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 to comment
0 rsmits Posted December 14, 2005 Author Share Posted December 14, 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 to comment
0 RON7 Posted December 14, 2005 Share Posted December 14, 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 to comment
0 rsmits Posted December 14, 2005 Author Share Posted December 14, 2005 (edited) 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... Edited December 14, 2005 by Guest Quote Link to comment
0 RON7 Posted December 14, 2005 Share Posted December 14, 2005 Dat kan enkel met de Advanced versie van 8 Quote Link to comment
0 rsmits Posted December 14, 2005 Author Share Posted December 14, 2005 precies Kan het echt niet met FM8 Pro opgelost worden? Misschien op een andere manier? Quote Link to comment
0 RON7 Posted December 14, 2005 Share Posted December 14, 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 to comment
0 rsmits Posted December 14, 2005 Author Share Posted December 14, 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 to comment
0 RON7 Posted December 14, 2005 Share Posted December 14, 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 to comment
0 GlV Posted December 14, 2005 Share Posted December 14, 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 to comment
0 rsmits Posted December 15, 2005 Author Share Posted December 15, 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 to comment
0 rmw Posted December 15, 2005 Share Posted December 15, 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 to comment
0 rsmits Posted December 15, 2005 Author Share Posted December 15, 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 to comment
0 RON7 Posted December 15, 2005 Share Posted December 15, 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 to comment
Question
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 to comment
18 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.