Jump to content
  • 0

kiezen uit meerdere relaties in 1 portal


hezndepezn

Question

Ik ben bezig met een database voor urenregistratie. 2 tabellen, een interface en de tabel met de uren per gebruiker. Nu wil ik dat men kan zien hoeveel uren hij vandaag, deze week en een willekeurige week in een willekeurig jaar heeft gemaakt. Ik heb hier nu 3 verschillende relaties voor gemaakt die ik in 3 verschillende portals laat zien. Dat werkt prima maar neemt veel ruimte in beslag. Het zou zo handig zijn dat ik die 3 verschillende relaties in 1 portal kwijt zou kunnen onderbrengen middels een keuzeveld waarbij de relatie getriggerd wordt door dat keuzeveld.

Voor zover ik weet kan FM (nog) geen (complexe) voorwaardelijke relaties maken. Het zou aardig zijn als dit op een andere manier te omzeilen is. Wie heeft een tip?

Link to comment

2 answers to this question

Recommended Posts

  • 0

Er zijn verschillende mogelijkheden.

Een ruwe benadering.

Als je een veld maakt 'dateChanger', waar de datum in bijgehouden wordt, onder welke vorm dan ook, en dit in een berekeningsveld gebruikt, samen met de gebruiker ID, kun je dit als relatiesleutel gebruiken om een portal te maken.

 

De relatie wordt dan zoiets als:

 

gebruikerID_dateChanger::gebruikerID_date.

 

Het dateChanger veld kan een valuelist zijn van eigen waardes.

 

Je verandert de waarde van dit veld en de overeenstemmende waardes (indien er zijn) zullen in het portal te zien zijn.

 

Voor het date veld kun je een Case statement gebruiken zoals

hier staat.

Link to comment
  • 0

Of 1 enkele relatie met keys : begindatum ≥ Datum ; Einddatum ≤ Datum en User Id = User Id.

Om de waarden begin- en einddatum automatisch in te vullen kan je een globale gebruiken op basis van een invoerlijst.(VRIJ,VANDAAG etc...)

Vb BeginDatum is datum met automatisch berekende invoer

 

Let ( xMod = Case ( Mod ( Month ( Get ( HuidigeDatum ) ) ; 3 ) = 0 ; 3; Mod ( Month ( Get ( HuidigeDatum ) ) ; 3 ) ) ;

 

Case (

Invoer_Bereik = "VRIJ" ; Begin_Dat ;

Invoer_Bereik = "VANDAAG" ; Get ( HuidigeDatum ) ;

Invoer_Bereik = "GISTEREN" ; Get ( HuidigeDatum ) - 1 ;

Invoer_Bereik = "DEZE WEEK" ; Get ( HuidigeDatum ) - DayofWeek ( Get ( HuidigeDatum ) ) + 1 ;

Invoer_Bereik = "VORIGE WEEK" ; Get ( HuidigeDatum ) - DayofWeek ( Get ( HuidigeDatum ) ) - 6 ;

Invoer_Bereik = "DEZE MAAND" ; Date ( Month ( Get ( HuidigeDatum ) ) ; 1 ; Year ( Get ( HuidigeDatum ) ) ) ;

Invoer_Bereik = "VORIGE MAAND" ; Date ( Month ( Get ( HuidigeDatum ) ) - 1; 1 ; Year ( Get ( HuidigeDatum ) ) ) ;

Invoer_Bereik = "DIT KWARTAAL" ; Date ( Month ( Get ( HuidigeDatum ) ) - xMod + 1; 1 ; Year ( Get ( HuidigeDatum ) ) ) ;

Invoer_Bereik = "VORIG KWARTAAL" ; Date ( Month ( Get ( HuidigeDatum ) ) - xMod - 2 ; 1 ; Year ( Get ( HuidigeDatum ) ) ) ;

Invoer_Bereik = "DIT J-T-V" ; Date ( 1 ; 1 ; Year ( Get ( HuidigeDatum ) ) ) ;

Invoer_Bereik = "VORIG J-T-V" ; Date ( 1 ; 1 ; Year ( Get ( HuidigeDatum ) ) - 1 ) ;

Invoer_Bereik = "VORIG JAAR" ; Date ( 1 ; 1 ; Year ( Get ( HuidigeDatum ) ) - 1 ) ;

Begin_Dat

 

) )

Link to comment

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