Sumar Posted October 30, 2015 Posted October 30, 2015 Ik hoop dat er een oplossing bestaat voor mijn 'probleem'. De bedoeling is om aan de hand van een ander veld het formaat van een datumveld aan te passen, bv als veld X=0 dan datumveld in het formaat dd-mm-yyyy als veld X=1 dan datumveld in het formaat mm-yyyy als veld X=2 dan datumveld in het formaat yyyy Als veld X anders wordt dan moet het formaat van het datum veld ook aangepast worden. Dat de onderliggende datum anders is (omdat het een datum veld is zal altijd dd/mm/yyyy zijn) snap ik, het gaat puur om het laten zien. Bij voorbaat dank ! PS: als het niet in FM12 kan maar wel in FM14 dan is dat OK, die versie komt er binnenkort aan. Quote
0 andries Posted October 31, 2015 Posted October 31, 2015 je kan volgende code gebruiken in een berekeningsveld: Let ( [ _date = tabel::DatumVeld; _format = tabel::FormatVeld; _d = Day ( _date ); _dlong = Right ( 0 & _d ; 2 ); //zorgt ervoor dat de dag altijd uit twee cijfers bestaat: 01, 12, 23, 31 _m = Month ( _date ); _mlong = Right ( 0 & _m ; 2 ); //zorgt ervoor dat de maand altijd uit twee cijfers bestaat: 02, 04, 10, 12 _y = Year ( _date ) ]; Case ( _format = 0 ; _dlong & "-" & _mlong & _year; _format = 1 ; _mlong & "-" & _year; _format = 2 ; _year ) ) Quote
0 Sumar Posted November 2, 2015 Author Posted November 2, 2015 Dank U ! Dus als ik het goed begrijp dan is dat alleen mogelijk met een tussenveld? Je kan niet het formaat van het datum veld dmv een script aanpassen? Quote
0 hbrendel Posted November 2, 2015 Posted November 2, 2015 Wat ook zou kunnen is vier instanties van hetzelfde datumveld maken, en d.m.v. conditional hiding er steeds 1 tonen. Die vier velden hebben dan een verschillende opmaak. Quote
0 menno Posted November 2, 2015 Posted November 2, 2015 Conditional hiding lukt pas na upgraden naar fm13 OP werkt met fm12 Quote
0 hbrendel Posted November 2, 2015 Posted November 2, 2015 PS: als het niet in FM12 kan maar wel in FM14 dan is dat OK, die versie komt er binnenkort aan. Quote
0 Sumar Posted November 3, 2015 Author Posted November 3, 2015 Dank allen ! Als FM14 binnen is (iemand anders bestelt en betaalt) ga ik meteen aan de slag en zal het resultaat melden. Quote
0 Sumar Posted December 7, 2015 Author Posted December 7, 2015 Sinterklaas heeft mij helaas overgeslagen dus nog geen FM14 oplossing. Wel een andere gevonden en die doet (na een paar kleine aanpassingen) precies wat ik wil Enige wat nog uitgezocht moet worden is hoe dit ding zich gedraagt met Nederlandse datumformaten… Zoals beloofd hier mijn 'oplossing', incl bronvermelding. Suggesties, opmerkingen zijn van harte welkom, kan er alleen maar van leren -)) Eise EasyDate.fmp12.zip Quote
0 menno Posted December 8, 2015 Posted December 8, 2015 Ik heb een tijd terug eens een CF gemaakt waar een datum kan worden geformatteerd volgens een patroon dat je opgeeft. In het voorbeeld dat ik geef is de taal bijvoorbeeld alleen maar Nederlands, maar dat zou je ook gemakkelijk meertalig kunnen maken. In een formule zou je dan FormatDate ( datum ; formaat ) opnemen. Formaat zou dan kunnen bevatten bijvoorbeeld "YYYYMMDD" met de datum van vandaag wordt dat 20151208 of "t d B YYYY" wordt dan dinsdag 8 December 2015 etc. De functie gemakkelijk aan te passen of uit te breiden. (let op de volgorde van vervangen, bijvoorbeeld b is geen willekeurige keuze voor de maandnaam, er is geen dagnaam waar een b in staat) Let ( [ dd = GetAsDate ( thedate ) ; dag = Choose ( DayOfWeek ( dd ) ; "" ; "zondag" ; "maandag" ; "dinsdag" ; "woensdag" ; "donderdag" ; "vrijdag" ; "zaterdag" ) ; d = Day ( dd ) ; m = Month ( dd ) ; maand = Choose ( m ; "" ; "januari" ; "februari" ; "maart" ; "april" ; "mei" ; "juni" ; "juli" ; "augustus" ; "september" ; "oktober" ; "november" ; "december" ) ; y = Year ( dd ) ] ; If ( dateformat ≠ "?" ; Substitute ( dateformat ; [ "dd" ; Right ( "0" & d ; 2 ) ] ; [ "mm" ; Right ( "0" & m ; 2 ) ] ; [ "yyyy" ; Right ( y ; 4 ) ] ; [ "DD" ; Right ( "0" & d ; 2 ) ] ; [ "MM" ; Right ( "0" & m ; 2 ) ] ; [ "YYYY" ; Right ( y ; 4 ) ] ; [ "d" ; d ] ; [ "m" ; m ] ; [ "yy" ; Right ( y ; 2 ) ] ; [ "D" ; d ] ; [ "M" ; m ] ; [ "YY" ; Right ( y ; 2 ) ] ; [ "Y" ; Right ( y ; 4 ) ] ; [ "y" ; Right ( y ; 4 ) ] ; [ "t" ; dag ] ; [ "T" ; Proper ( dag ) ] ; [ "b" ; maand ] ; [ "B" ; Proper ( maand ) ] ) ; "d = dagnr¶m = maandnummer¶yy = jaar 2 cijfers¶y/yyyy = jaar 4 cijfers¶t = dagnaam¶b = maandnaam" ) ) Quote
0 Sumar Posted December 9, 2015 Author Posted December 9, 2015 Dat is een leuke, die ga ik in ieder geval bewaren. Quote
Question
Sumar
Ik hoop dat er een oplossing bestaat voor mijn 'probleem'.
De bedoeling is om aan de hand van een ander veld het formaat van een datumveld aan te passen, bv
als veld X=0 dan datumveld in het formaat dd-mm-yyyy
als veld X=1 dan datumveld in het formaat mm-yyyy
als veld X=2 dan datumveld in het formaat yyyy
Als veld X anders wordt dan moet het formaat van het datum veld ook aangepast worden.
Dat de onderliggende datum anders is (omdat het een datum veld is zal altijd dd/mm/yyyy zijn) snap ik, het gaat puur om het laten zien.
Bij voorbaat dank !
PS: als het niet in FM12 kan maar wel in FM14 dan is dat OK, die versie komt er binnenkort aan.
9 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.