Ga naar inhoud
  • 0

Valuelist op basis van een relatie


TheMisfit

Vraag

FP 8 biedt de mogelijkheid een invoerlijst te maken op basis van een veld en gekoppeld aan een relatie. Zo is het mogelijk om na het kiezen van een bepaalde categorie in een eerste veld de invoerlijst voor een tweede te beperken tot de elementen van die categorie (= de records van die relatie).

 

Als er echter in het eerste categorieveld niets is ingevuld, zou ik verwachten mijn tweede keuze te kunnen maken uit alle categoriën van het eerste veld. Maar FP8 toont in dat geval helemaal geen invoerlijst voor het tweede veld (omdat er natuurlijk geen records aan de relatie voldoen).

Ik heb al geprobeerd de relatie voor de invoerlijst te definiëren met berekeningsvelden die rekening houden met het lege categorieveld, maar dat blijkt niet te werken.

 

Heeft iemand hier ervaring mee?

alvast bedankt.

Link naar reactie

8 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Rony,

 

Bedankt voor je reactie. Ik had een bijna identieke implementatie alleen werkte die niet. :oops:

Mogelijk heeft het iets te maken met het feit dat mijn relatie tussen twee occurences van dzelfde tabel lag. Maar enfin nu ik weet dat het basisidee juist is kom ik er wel uit.

 

Misschien nog een aanverwant vraagje;

Nadat je in je voorbeeld "Groenten" of "Fruit" selecteert als categorie, verandert die categorie in het cijfer 1 of 2 (= de waarde van het eerste veld van de valuelist).

Is er echt geen mogelijkheid om je keuze van "Groenten" of "Fruit" als dusdanig te laten staan ipv een voor de gebruiker nietszeggend cijfertje 1 of 2?

 

Dat is iets waar ik al weken mijn tanden op stuk bijt.

 

Nogmaals bedankt

Link naar reactie
  • 0
Misschien nog een aanverwant vraagje;

Nadat je in je voorbeeld "Groenten" of "Fruit" selecteert als categorie, verandert die categorie in het cijfer 1 of 2 (= de waarde van het eerste veld van de valuelist).

Is er echt geen mogelijkheid om je keuze van "Groenten" of "Fruit" als dusdanig te laten staan ipv een voor de gebruiker nietszeggend cijfertje 1 of 2?

 

Dat kan door te kiezen voor een "popup-menu" ipv een "dropdown-list". Maar het feit dat het kan, via ik nogal tricky en lijkt op een bug. Ik gebruik het dus op die manier niet. (want stel maar eens dat ze deze truuk er in v3 uithalen ...)

Een andere oplossing kan zijn : plaats twee velden precies boven elkaar. Het bovenste bevat veld bevat FRUIT en is niet editeerbaar, het onderste bevat het ID en is wel editeerbaar.

Link naar reactie
  • 0

(Het gebruik van een popupmenu is geen optie want de lijst bevat in mijn geval alle postcodes van België en daarvoor blijkt de opbouw van een menu te traag)

 

Als je de velden boven elkaar legt lukt het me nog altijd om rechtstreeks in het invulveld te klikken (het invulveld komt immers nog altijd bovenaan te liggen tijdens het weergeven van de invoerlijst)

De gebruiker zou dan kunnen denken dat hij op die plaats de categorie "Fruit" of "Groente" mag intypen, terwijl hij op die manier de relatie juist om zeep helpt.

 

We zijn er bijna... :?

Link naar reactie
  • 0
Misschien nog een aanverwant vraagje;

Nadat je in je voorbeeld "Groenten" of "Fruit" selecteert als categorie, verandert die categorie in het cijfer 1 of 2 (= de waarde van het eerste veld van de valuelist).

Is er echt geen mogelijkheid om je keuze van "Groenten" of "Fruit" als dusdanig te laten staan ipv een voor de gebruiker nietszeggend cijfertje 1 of 2?

 

Dat kan door te kiezen voor een "popup-menu" ipv een "dropdown-list". Maar het feit dat het kan, via ik nogal tricky en lijkt op een bug. Ik gebruik het dus op die manier niet. (want stel maar eens dat ze deze truuk er in v3 uithalen ...)

Een andere oplossing kan zijn : plaats twee velden precies boven elkaar. Het bovenste bevat veld bevat FRUIT en is niet editeerbaar, het onderste bevat het ID en is wel editeerbaar.

 

Rony,

 

Ik zou nog eens graag terugkomen op dit onderwerp.

Ik ben nl. heel mijn FP-bibliotheek aan het opkuisen en wil tegelijk een paar verbeteringen doorvoeren.

 

Gebruik jij effectief de methode met de twee velden boven elkaar of hoe voorzie jij je relaties van een unieke PK die toch door mensen te interpreteren valt.

Zoals gezegd werkt het perfect met een popup menu (op onderstaande url wordt deze methode zelfs geadviseerd) en ook in bijvoorbeeld MS Access is zoiets geen enkel probleem en zelfs verdomd handig (nooit gedacht dat ik dat van een MS-product zou zeggen ;-)

 

http://oracleadvisor.com/doc/18168

Link naar reactie
  • 0

Hallo,

 

Wij doen dit hier op een heel andere manier, de oplossing van ronny is inderdaad een mogelijke oplossing die snel te ontwikkelen is. Deze oplossing is iets complexer, maar wel het vermelden waard... ;-)

 

Wat moet je doen:

1) pop-up window maken

2) dit window is gebaseerd op de tabel waar je waarden uit komen die je nodig hebt. (maak van deze layout een lijstvorm zodat je alle waarden onder elkaar ziet)

3) maak 2 scripts: 1 om de pop-up window te openen en een ander om de juiste record te selecteren!

4) leg een relatie op id tussen het ingevulde veld en de tabel uit de pop-up window.

5) op je originele layout zet je dus het gerelateerde veld, maar je vult via het tweede script id veld in van je originele tabel.

 

Zodoende kan niemand dat veld aanpassen, enkel door het script te runnen. Dus vrije tekst kan niet ingevuld worden, enkel als je deze waarde in de andere tabel invoegt.

 

Nog een voordeel is dat je afhankelijk van een bepaald in te vullen veld de records die je toont in je pop-up window kan limiteren!

 

Nog een voordeel is dat je deze methode in heel je applicatie kan hergebruiken, dus heb je 1 maal veel werk, maar daarna hergebruik je dit gewoon!

 

Voor ons een zeer gebruiksvriendelijke manier van werken, goed te onderhouden en zeer geapprecieerd door onze users ;-)

 

Veel plezier!

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