Jump to content
  • 0

Portaal filteren


elmystica

Question

Ik heb een table met een hoop velden. Sommige zijn eenvoudig, zoals prijzen, andere zijn value lists gebaseerd op andere tables, nog andere zijn radio buttons of check boxes.

 

Ik heb een tweede table, een interfacetable, waarop voor alle velden ook een veld aanwezig is.

Op de layout zitten alle velden, maar wel allemaal als checkboxen omdat er meerdere waarden gekozen mogen worden.

 

Nu wil ik bvb in de layout een portaal met alle keuzes filteren.

Hoe filter je op basis van meerdere waarden voor 1 veld?

 

Of kan ik meerdere waarden kiezen voor bvb relaties en dan op basis van een nieuwe tabel een layout opbouwen?

 

Heb in bijlage een kleine database als voorbeeld gestoken...

autostock.fmp12

Link to comment

4 answers to this question

Recommended Posts

  • 0

Dit is schitterend!

Dat zet me aan tot terug compleet nieuwe mindsets!

 

Een domme vraag, misschien, maar bij materiaal heb ik selectievakjes staan.

Bijgevolg kan een record 2 materialen hebben (de gele Alfa Romeo heeft bijvoorbeeld Massief en Semi Nylor staan).

Maar via die sql krijg ik die niet. Kan ik die parameters bvb gaan loopen?

Link to comment
  • 0

Je zou

If ( zoekpagina::materiaal ≠ "" ; " Lower ( materiaal ) IN('" & Substitute ( Lower ( zoekpagina::materiaal ) ; [ ¶ ; "','" ] ) & "')" ) ; 

kunnen wijzigen in

If ( zoekpagina::materiaal ≠ "" ; 
Substitute ( 
	List ( 
		If ( GetValue ( zoekpagina::materiaal ; 1 ) ≠ "" ; " Lower ( materiaal ) LIKE '%" & GetValue ( Lower ( zoekpagina::materiaal ) ; 1 )  & "%' " ) ; 
		If ( GetValue ( zoekpagina::materiaal ; 2 ) ≠ "" ; " Lower ( materiaal ) LIKE '%" & GetValue ( Lower ( zoekpagina::materiaal ) ; 2 )  & "%' " ) ; 
		If ( GetValue ( zoekpagina::materiaal ; 3 ) ≠ "" ; " Lower ( materiaal ) LIKE '%" & GetValue ( Lower ( zoekpagina::materiaal ) ; 3 )  & "%' " ) ; 
		If ( GetValue ( zoekpagina::materiaal ; 4 ) ≠ "" ; " Lower ( materiaal ) LIKE '%" & GetValue ( Lower ( zoekpagina::materiaal ) ; 4 )  & "%' " ) )
	; [ ¶ ; " OR " ] ) ) ; 

Het probleem dat je echter dan krijgt is dat wanneer je "Nylor" gebruikt, dan eveneens de waarde "Semi Nylor" wordt getoond. Je dan overal de waarde "Nylor" moeten vervangen voor "Full Nylor" of "Standard Nylor" o.i.d. Hetzelfde treed op wanneer je bijvoorbeeld bij kleuren Blauw, Donker blauw en Donkerblauw zou hebben. Dus dit is dan eigenlijk niet zo'n goede methode

 

Strikt genomen mag een willekeurige eigenschap ook maar één waarde bevatten en dus zou je voor je eigen gemak beter wanneer een tweede materiaal kan worden gebruikt dat ook in een tweede kolom moeten zetten. Voor gebruikers is dat natuurlijk enorm onhandig, dus je zou dan je kolom "materiaal" in meerdere (bijvoorbeeld 2) kolommen uiteen kunnen rafelen door daar evenzovele berekende velden voor te maken met materiaal1 = GetValue ( materiaal ; 1 ) resp. materiaal2 = GetValue ( materiaal ; 2 ), etc. Je SQL aanpassen wordt dan een stuk eenvoudiger:

If ( zoekpagina::materiaal ≠ "" ; " Lower ( materiaal ) IN('" & Substitute ( Lower ( zoekpagina::materiaal ) ; [ ¶ ; "','" ] ) & "')" ) ; 

kan je dan wijzigen in:

If ( zoekpagina::materiaal ≠ "" ; "( Lower ( materiaal1 ) IN('" & Substitute ( Lower ( zoekpagina::materiaal ) ; [ ¶ ; "','" ] ) & "') OR Lower ( materiaal2 ) IN('" & Substitute ( Lower ( zoekpagina::materiaal ) ; [ ¶ ; "','" ] ) & "'))" ) ; 

Link to comment
  • 0

Normaal zou ik voor zoiets liefst met ID's werken (zoals de merken, bvb), maar helaas moet dit op een bestaande database verder gebouwd worden.

Die is al zò complex en zo non-conform opgebouwd dat dat niet meer evident is, vrees ik.

 

Thanks, ik bekijk even wat ik kan doen binnen de huidige context!

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