Ga naar inhoud
  • 0

kiezen uit meerdere relaties in 1 portal


hezndepezn

Vraag

Geplaatst:

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?

2 antwoorden op deze vraag

Aanbevolen berichten

  • 0
Geplaatst:

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.

  • 0
Geplaatst:

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

 

) )

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