Jump to content
  • 0

Tabvolgorde is gekend ?


Rony Rabijns

Question

Posted

Stel :

ik heb x-aantal velden op een layout staan.

ik heb een tabvolgorde bepaald voor die x velden.

ik ben het 3de veld aan het editeren in browse-mode.

 

Vraag :

Is er een funktie of mogelijkheid om te weten op welke plaats ik sta in de tabvolgorde ? (in dit geval = 3)

 

Reden :

ik genereer bvb een "exit record" in dat 3de veld (omdat een script uitgevoerd wordt), en wil nadien terug verdergaan in "browse"-mode, daar waar ik gebleven was, namelijk in het 3de veld van mijn tabvolgorde.

22 answers to this question

Recommended Posts

  • 0
Posted

ik weet niet of ik de vraag goed heb begrepen maar de truuk om terug te keren naar een bepaald veld is het volgende:

 

Zet Status(CurrentFieldName) in een globale variabele bv SaveFieldName

 

Om terug te keren naar dit veld programmeer je:

 

Go To Field

Loop

Go To Next Field

Exit Loop If(SaveFieldName = Status(CurrentFieldName))

End Loop

  • 0
Posted

Theo,

wat jij voorstelt is zoals ik het ook getest had, maar dan moet het script gestart worden terwijl je een veld aan het editeren bent. in de applikatie die ik aan het ontwikkelen ben wordt automatisch een script gestart bij het verlaten van het veld. op dat moment weet ik niet meer welk veld ik verlaten heb. en dat is net wat ik wil weten.

 

ik zal daarom de vraag anders formuleren :

kan ik via een calculation-field continu berekenen welke veld geediteerd wordt ? het resultaat mag numeriek zijn (bvb de volgorde in de tabvolgorde) of alfanumeriek (de naam van het veld zoals in Status(CurrentFileName))

 

ps : als ik bvb cSaveFieldName (calculation field) = Status(CurrenFieldName) doe, dan lukt dat niet, wat ik eigenlijk wel vreemd vindt. Ik had verwacht dat ie mij tenminste het vorige veld zou geven !

  • 0
Posted

Tussenoplossing :

ik maak voor ieder veld dat een script start bij het verlaten, een eigen script zodat ik weet waar ik terug naar toe moet.

Nu zijn er zo maar 5 velden, en dus ook 5 quasi identieke script op de GoToField(...) na.

 

Maar wat als er meer velden komen die zo getest moeten worden ... snif snif

:cry: , dan had ik graag een oplossing zoals intieel bedoeld was.

  • 0
Posted

Gaan we nu FileMaker gebruiken om de structuur van FileMaker-bestanden te beheren? Prachtig natuurlijk dat het kan allemaal, maar ja, straks komt FMP 7 en dan is alles weer voor niks.... Kunnen we weer helegaar overnieuw beginnen.

  • 0
Posted
Gaan we nu FileMaker gebruiken om de structuur van FileMaker-bestanden te beheren?

neen, het heeft veeleer te maken met het "idioten-safe" en "dummie-certified" proberen te maken van een toepassing, cq interface.

  • 0
Posted
neen, het heeft veeleer te maken met het "idioten-safe" en "dummie-certified" proberen te maken van een toepassing, cq interface.

 

Ik probeer me de auto voor te stellen die ontworpen zou zijn volgens dezelfde normering... :wink::wink: Zo met een speciale inrichting die je belet te starten als je ingestapt ben in de kofferruimte.

Het schijnt dat op sommige microgolfovens een sticker zit met "Do not use this device with living animals".

 

Maar overigens is de vraag naar die functie gerechtvaardigd. De werking van Status(CurrentFieldName) is wel grappig. In principe geeft het de veldnaam van het veld waarin de cursor staat. Daarbij gebeurt een refresh enkel bij een muisklik in een veld. Dat betekent dat een unstored calculatieveld dat we Actuele Veldnaam noemen en dat als formule Status(CurrentFieldName) bevat zijn eigen naam toont als je erin klikt. Dat is dus bijzonder nuttig voor Alzheimer-programmeurs :roll: . Als je dan in een ander veld klikt, dan verschijnt wel degelijk die veldnaam (bijv. Straat). En dan is het gedaan met lachen, je mag zoveel andere velden aanklikken als je wil, HET BLIJFT Straat. Tenzij... hocus pocus, tenzij je weer in Actuele Veldnaam klikt. Het veld toont dan weer zijn eigen naam. Pas daarna heeft het zin om te klikken op bijvoorbeeld het veld Gemeente. Je ziet in Actuele Veldnaam dan mooi Gemeente verschijnen. En dan is de lol er weer af. Een soort toggle dus... Kan je daar iets mee aanvangen?

  • 0
Posted
Gaan we nu FileMaker gebruiken om de structuur van FileMaker-bestanden te beheren?

neen, het heeft veeleer te maken met het "idioten-safe" en "dummie-certified" proberen te maken van een toepassing, cq interface.

 

Ooo dat wat ik al eerder "debielen-bestendigheid" genoemd heb? ;):D Maar ja, het is op zich wel waar denk ik...

  • 0
Posted
Maar wat als er meer velden komen die zo getest moeten worden ... snif snif

:cry: , dan had ik graag een oplossing zoals intieel bedoeld was.

 

Oplossing: Maak een veld aan met autoenter options:

 

Status( CurrentFieldName) & Left(veld1 & veld2 & veld3 & veld4 & Veld5;0)

 

Zodra één van de velden Veld1 ... Veld5 van waarde veranderd is de naam van dat veld bekend.

 

Ik weet niet of dit voor jou afdoende is - graag een reactie.

  • 0
Posted
ps : als ik bvb cSaveFieldName (calculation field) = Status(CurrenFieldName) doe, dan lukt dat niet, wat ik eigenlijk wel vreemd vindt. Ik had verwacht dat ie mij tenminste het vorige veld zou geven !

 

Werkt alleen als je in een veld staat. Zodra je het veld verlaat is de currentFieldName leeg. Wel logisch.

  • 0
Posted
ps : als ik bvb cSaveFieldName (calculation field) = Status(CurrenFieldName) doe, dan lukt dat niet, wat ik eigenlijk wel vreemd vindt. Ik had verwacht dat ie mij tenminste het vorige veld zou geven !

 

Werkt alleen als je in een veld staat. Zodra je het veld verlaat is de currentFieldName leeg. Wel logisch.

 

theo, is dat niet tegenstrijdig met wat Avd zei ?

als ik AvD zijn theorie omzet in de praktijk blijkt zijn verhaal te kloppen.

 

Als je dan in een ander veld klikt, dan verschijnt wel degelijk die veldnaam (bijv. Straat). En dan is het gedaan met lachen, je mag zoveel andere velden aanklikken als je wil, HET BLIJFT Straat. Tenzij... hocus pocus, tenzij je weer in Actuele Veldnaam klikt.
  • 0
Posted
Oplossing: Maak een veld aan met autoenter options:

Status( CurrentFieldName) & Left(veld1 & veld2 & veld3 & veld4 & Veld5;0)

Zodra één van de velden Veld1 ... Veld5 van waarde veranderd is de naam van dat veld bekend.

 

theo, een autoenter wordt toch maar enkel gebruikt bij de intiele aanmaak van een record ?

het moet ook werken bij een bestaand record dat ge-edit wordt.

ik heb daarom een calculationfield gemaakt = Status( CurrentFieldName) & Left(veld1 & veld2 & veld3 & veld4 & Veld5;0)

 

en dat lijkt te werken op het eerste zicht. nog effe wat verder testen. feedback volgt later.

  • 0
Posted

dit werkt perfect en is precies hoe ik het wil zien werken :

calculationfield  = Status( CurrentFieldName) & Left(veld1 & veld2 & veld3 & veld4 & Veld5;0)

samen met een scriptje dat nadien alle velden doorloopt, zorgt ervoor dat ik terugkom daar waar ik het record verlaten had.

prachtig teamwork !

 

@ Theo :

"Nobody is perfect, but Theo's middlename is perfect." :D

  • 0
Posted
theo, een autoenter wordt toch maar enkel gebruikt bij de intiele aanmaak van een record ?

Autoenter wordt steeds opnieuw bepaald als één van de velden in de berekening wordt aangepast. Vandaar Left(Veld1 & Veld2 & Veld3 & Veld4 & Veld5;0)

 

Als jouw oplossing met het rekenveld ook werkt dan is dat beter. Ik had dat niet getest. Status(CurrentFieldName) wordt blijkbaar getriggerd door Left(Veld1 & Veld2 & Veld3 & Veld4 & Veld5;0).

 

Nadeel van deze oplossing is dat je de formule moet aanpassen als er meer velden komen in je database. Voorlopig lijkt dit wel het meest praktische.

  • 0
Posted
ps : als ik bvb cSaveFieldName (calculation field) = Status(CurrenFieldName) doe, dan lukt dat niet, wat ik eigenlijk wel vreemd vindt. Ik had verwacht dat ie mij tenminste het vorige veld zou geven !

 

Werkt alleen als je in een veld staat. Zodra je het veld verlaat is de currentFieldName leeg. Wel logisch.

 

theo, is dat niet tegenstrijdig met wat Avd zei ?

als ik AvD zijn theorie omzet in de praktijk blijkt zijn verhaal te kloppen.

 

Als je dan in een ander veld klikt, dan verschijnt wel degelijk die veldnaam (bijv. Straat). En dan is het gedaan met lachen, je mag zoveel andere velden aanklikken als je wil, HET BLIJFT Straat. Tenzij... hocus pocus, tenzij je weer in Actuele Veldnaam klikt.

 

Het was (te) laat vannacht. Ik heb daar overheen gelezen.

  • 0
Posted
theo, een autoenter wordt toch maar enkel gebruikt bij de intiele aanmaak van een record ?

Autoenter wordt steeds opnieuw bepaald als één van de velden in de berekening wordt aangepast. Vandaar Left(Veld1 & Veld2 & Veld3 & Veld4 & Veld5;0)

 

Als jouw oplossing...

 

Iedereen achteruit!

De Rony en den Theo samen op de achtbaan! Sensatie!!

 

Clarify heeft hiermee toch wel een ongekend kwaliteitsniveau bereikt!

  • 0
Posted

Autoenter wordt steeds opnieuw bepaald als één van de velden in de berekening wordt aangepast. Vandaar Left(Veld1 & Veld2 & Veld3 & Veld4 & Veld5;0)

ik volg jouw redenering en heb deze optie nog eens bekeken maar ik krijg die toch niet aan de waggel. Die autoenter berekent bij mij maar éénmaal, onafgezien of de inhoud van de velden 1,2, ... of 5 gewijzigd wordt.

 

De versie als calculation-field werkt intussen wel perfect.

  • 0
Posted

 

Iedereen achteruit!

De Rony en den Theo samen op de achtbaan! Sensatie!!

 

Clarify heeft hiermee toch wel een ongekend kwaliteitsniveau bereikt!

 

En daar was sinds de komst van mij en het *verdwijnen* van mensen als Stef en Peter Wagemans wel weer eens behoefte aan :oops:

  • 0
Posted
Allé Flash, we zien u nog zo graag!

 

Dat doet me goed, AvD :) Ik vind het ook zeer plezierig hier. Ik ben alleen nog niet zo bedreven met FMP, ik bedoel, ik kan leuk wat dingetjes voor mezelf bouwen, maar ik kan niet tippen aan de profi's..... De Rony weet er veel meer van dan ik zo te zien.... Maar goed, ik doe m'n best, en al doende leert men :)

  • 0
Posted
Nadeel van deze oplossing (in de formule van het rekenveld alle invoervelden noemen) is dat je de formule moet aanpassen als er meer velden komen in je database. Voorlopig lijkt dit wel het meest praktische.

 

Inmiddels een beter alternatief: Zet bij ieder veld waar je gebruik van maakt op de layout de volgende validatie:

Status(CurrentFieldName) = cVeldNaam

 

Waarbij het calculatieveld cVeldNaam de volgende formule bevat: Status(CurrentFieldName)

 

Deze oplossing vind ik eleganter en onderhoudsvriendelijker.

  • 0
Posted
Inmiddels een beter alternatief: Zet bij ieder veld waar je gebruik van maakt op de layout de volgende validatie:

Status(CurrentFieldName) = cVeldNaam

 

Waarbij het calculatieveld cVeldNaam de volgende formule bevat: Status(CurrentFieldName)

 

Den Theo : dat is als wijn, alleen Theo wordt beter met de dagen. :wink:

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