Ga naar inhoud
  • 0

Waarde op wijziging


dudematters

Vraag

Geplaatst:

Ik zoek een oplossing voor het volgende, moet niet moeilijk zijn maar kom er even niet uit.

 

Ik heb een veld Bron, deze vermeld de bron van het record waar het vandaan komt. Nu wil ik dat als dat record aangepast wordt (handmatig) dat de inhoud van dit veld direct veranderd in "Handmatig". Ik kan dit oplossen door op alle velden een script-trigger te zetten, maar ik denk dat het efficiënter moet kunnen, wellicht in combinatie met automatisch wijzig-datum. Maar ik zie het even niet. Iemand een wakker idee?

7 antwoorden op deze vraag

Aanbevolen berichten

  • 0
Geplaatst:

Harry, dank voor reactie... maar dit is niet helemaal goed, want de aanmaakdatum kan ver in het verleden liggen, de wijziging hoeft niet direct te zijn, kan ook veel later plaatsvinden. Wat ik vergeten ben te vertellen is dat de bron wel aangepast kan worden door het systeem, dan geldt de regel niet. Dan moet de bron blijven. Het is alleen op een wijziging (handmatig) dat de bron moet wijzigen in "Handmatig"

  • 0
Geplaatst:

Scripttriggers op alle invoervelden is het meest doeltreffend en volgens mij ook het meest efficiënt. Het is layoutgebonden, het reageert niet op wijzigingen door scripts, en je kunt de triggers op alle velden in één keer aanbrengen.

  • 0
Geplaatst:

Jammer, ik had gehoopt het op een betere manier te doen. Nu verlies ik de mogelijkheid een script-trigger op een enkel veld te zetten, afwijkend van de rest. Omdat de wijzig-datum al bestaat hoopte ik op een record-on-change functie die ik nog niet ken ;-)

  • 0
Geplaatst:

Er is ook een oplossing met Auto-Enter, in combinatie met een globale variabele en de Evaluate functie. Voordeel is dat deze methode niet layout-gebonden is, zoals de script trigger methode:

- Laat je scripts die velden instellen aan het begin een globale variable, bv $$systeem op 1 zetten, en op het einde op 0

- Voeg aan je 'Bron' veld een Auto-Enter Calculation toe à la:

Evaluate(
"Case($$systeem ; \"Systeem\" ; \"Handmatig\")" ; 
[veld1;veld2; veldn]
)

 

Het is nl. zo dat de Evaluate functie een 2de parameter accepteert, die bestaat uit een lijst van velden die de evaluatie triggeren. Nadeel is ook hier dat je al je wijzigbare velden aan de Evaluate functie moet toevoegen.

 

HTH

 

Jeroen

  • 0
Geplaatst:

Je kunt denk ik beter iets met de rechten doen. Als een record op systeem staat kun je het niet wijzigen.

De gebruiker dient eerst het record op handmatig te zetten. Zo tackle je het probleem op een mooiere manier ??

  • 0
Geplaatst:
Scripttriggers op alle invoervelden is het meest doeltreffend en volgens mij ook het meest efficiënt. Het is layoutgebonden, het reageert niet op wijzigingen door scripts, en je kunt de triggers op alle velden in één keer aanbrengen.

Voor de volledigheid: zolang je "Set Field" gebruikt, reageren script triggers inderdaad niet. Als je één van de "insert" script steps gebruikt dan werken de script triggers wel.

 

De oplossing via security is inderdaad veilig en ondubbelzinnig, maar verplicht gebruikers wel om zelf de "handmatig"-switch om te zetten om records te unlocken.

De oplossing via auto-enter centraliseert mooi alle logica in één auto-enter en gebruikers merken er niks van.

In beide gevallen kruipt de business-logica in je data-laag. Maar dat is natuurlijk wel meer het geval met FM.

De script-triggers hebben het voordeel dat je die logica naar je interface-laag brengt. Vraag is of je dat wil natuurlijk.

Groeten,

Joris

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.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...