Ga naar inhoud
  • 0

datumbereik: omdraaing voorkomen


havoir

Vraag

Weet iemand hoe de omdraaing van de opgegeven begin- en einddatum voor een datumveld kan worden voorkomen?

 

Bij een datumveld wil ik een bereik opgeven: een geldige datum moet liggen tussen de datum van bijv. de oprichting van de vereniging en de huidige systeemdatum. In het 'van' veld heb ik de datum van oprichting ingevuld, in het 'tot' veld de operator '//'.

Nu blijkt dat Filemaker deze waarden omdraait waardoor een geldige datum telkens een foutmelding veroorzaakt omdat deze kleiner is dan de 'van' datum (waar dus inmiddels de operator '//' in staat).

 

Deze controle valt ook wel uit te voeren via een script, maar als dit via een bereik kan, dan heb ik dit veel liever.

 

Groet,

Hans

Link naar reactie

3 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Ik ben er nog even ingedoken. Ik zie nu wat je bedoelt: Het gebeurt in de validation-tab van de field options. Waarschijnlijk is het zo dat FM de laagste datum automatisch vooraan zet, maar "//" herkent hij dan niet.

 

Oplossing: gebruik 'Validated by Calculation' (zie screenshot)

 

De calculatie is dan:

Case ( 
dDate < Date ( 1 ; 1 ; 2001 ) ; 0 ; 
dDate > Get ( CurrentDate ) ; 0 ; 
1 
)

'dDate' is de naam van het te valideren datumveld. Pas de datum nog even aan.

Overigens gebruik ik deze manier van valideren nooit. De melding aan de gebruiker is nogal vaag en gebeurt pas als het record verlaten wordt, hetgeen verwarrend is imho. Er zijn tegenwoordig script triggers waarmee het veel beter gaat. Ja, je moet dan wel een script maken, maar waarom is dat een probleem?

 

screenshot.png.1e8add196e5bac0904fed177e83a6390.png

Link naar reactie
  • 0

Allereerst bedankt voor je reacties en je moeite.

 

M'n vraag komt voort uit verwondering: waarom worden bereikwaarden verwisselt terwijl ze bewust in de 'van' en 'tot' velden worden ingevoerd? Het werken met een bereik leek mij de meest recht-toe-recht-aan oplossing voor deze validatie-kwestie: twee bereikvelden vullen en klaar!

 

Maar bij het schrijven van dit antwoord valt 't kwartje dat een operator geen waarde is maar.... een operator. Vanuit die constatering is het nu minder verbazingwekkend dat Filemaker die anders behandeld als een waarde.

 

Weer wat geleerd: geen operatoren gebruiken in bereikvelden maar in berekeningen.

Link naar reactie

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