Ga naar inhoud
  • 0

Modfier keys and constrained find


idmix.be

Vraag

Weet iemand of het volgende kan ?

 

Ik heb een overzicht (lijst) van fakturen, die zijn gesorteerd per jaartal en nummer. Ik heb een zoekscript dat mits ik op het jaartal klik in mijn sub-summary enkel de facturen can het desbetreffende jaar weergeeft. As ik nogmaals op het jaartal klik in de sub-summary komen alle fakturen weer gesorteerd te voorschijn.

 

Een zelfde principe hanteer ik om enkel de fakturen van een bepaalde klant weer te geven, of de fakturen van mijn verschillende faktuurcategorieën (verkoop, verhuur, ...) Deze knoppen bevinden zich uiteraard in het body gedeelte van mijn lay-out.

 

Kan ik nu met behulp van mijn modifier keys, bijvoorbeeld shift, mijn selectie van records uitbreiden of terug inkrimpen ? Ik klik bijvoorbeeld op een jaartal en shift-klik dan op een klant, zodanig dat ik enkel de facuren van dat jaar van die klant krijg. Als ik terug shift-klik op de klant druk komen alle records van dat jaar weer te voorschijn, of als ik shift-klik op een faktuurcategorie komen enkel de fakturen van dat jaar, van de bewuste klant, binnen die bepaalde faktuurcategorie te voorschijn.

 

Ik denk aan een soort van if-statement in combinatie met een get(Activemodifierkey).

Heeft iemand soortgelijke truc al toegepast ?

 

Merci alvast voor de input, bedenkingen.

Link naar reactie

3 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Ik maak meestal gebruik van een custom-function om de modifierkeys als variabele te kunnen oppikken.

 

Functie:

ModKeys ( prefix )

Code:

Let ( [ 
modkeys 	= Get ( ActiveModifierKeys ) ; 
modkey_apple = If ( modkeys ≥ 16 ; 1 ) ; 
modkeys 	= modkeys - modkey_apple * 16 ; 
modkey_alt = If ( modkeys ≥ 8 ; 1 ) ; 
modkeys 	= modkeys - modkey_alt * 8 ;
modkey_ctrl = If ( modkeys ≥ 4 ; 1 ) ; 
modkeys 	= modkeys - modkey_ctrl * 4 ;
modkey_caps = If ( modkeys ≥ 2 ; 1 ) ; 
modkeys 	= modkeys - modkey_caps * 2 ;
modkey_shift = If ( modkeys ≥ 1 ; 1 ) ; 
modkeys 	= modkeys - modkey_shift * 1 	
] ; 
Evaluate ( "Let([" & 
		"$" & prefix & "apple=" &  If ( modkey_apple ; 1 ; "\"\"" ) & 
		";$" & prefix & "alt=" &  If ( modkey_alt ; 1 ; "\"\"" ) & 
		";$" & prefix & "ctrl=" &  If ( modkey_ctrl ; 1 ; "\"\"" ) & 
		";$" & prefix & "caps=" &  If ( modkey_caps ; 1 ; "\"\"" ) & 
		";$" & prefix & "shift=" &  If ( modkey_shift ; 1 ; "\"\"" ) & 
	"] ; 
		\"\" )" )
)

Op deze manier krijg ik altijd op dezelfde manier de modkeys terug. Heb je geen FMPAdvanced, dan kan je dit net zo goed als variabele in een script declareren en dan werkt het ook.

Caveats? Ja zeker, als je de control-toets uitvraagt en je doet dit bij het starten van je zoekopdracht die je start met een keyboard-shortcut, dan is $ctrl = 1 uiteraard :-)

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