Cortical Posted September 23, 2009 Posted September 23, 2009 (edited) hi fms10/fmp10/fmp10a a series of fields on a layout have script triggers onObjectExit The layout should have no tab order The aim is to allow the user to enter a field value, tab out of the field and thereby trigger a script to force a commit/refresh so that the changed data is immediately updated on other concurrent user screens. with no object (i.e. no tab order) as such, tabbing out does not work, as there is no destination object to tab to. if a 'harmless object is defined, in order to make tabbing out of a field work, then the record stays 'locked' in a multi-user environment The aim is to avoid having to have the user click out of the field in order to commit the record; the user population is transient (agency staff) and can not be relied on (quite reasonably) to know or remember to click out of the field if there is an object in the tab order, then the tab out works and the commit/refresh script steps execute, but then the tab object effectively locks the record I'm missing the obvious perhaps Edited September 23, 2009 by Guest
IdealData Posted September 23, 2009 Posted September 23, 2009 if a 'harmless object is defined, in order to make tabbing out of a field work, then the record stays 'locked' in a multi-user environment I tested this by using a BUTTON as the "harmless object" - the record does not remain locked. I made the button execute the same OnObjectExit script, which only contained "Commit Record(s)"
Cortical Posted September 23, 2009 Author Posted September 23, 2009 (edited) yes, I was misinterpreting 'locked'; traditional , if inaccurate, empirical interpretation: if you can see the dashed field borders, the record is 'locked' i.e. not committed the cursor can it seems, be left in a field, and not be locked to entry by another user, untill the first user presses a key again. Not particularly elegant (or intuitively convincing). I just worked up this, which does exactly what I want no tab order on the layout user can type normally into the field, and exit the field and commit, using tab or return or enter. field script trigger: OnObjectKeystroke Script: commit_triggerkeystroke # just for monitoring Set Variable [ $_keystroke; Value:Code( Get ( TriggerKeystroke ) ) ] # triggerkeystroke: tab = 9 # triggerkeystroke: return = 13 # triggerkeystroke: enter = 10 If [ Case( Code( Get ( TriggerKeystroke ) ) = 9 ; 1; Code( Get ( TriggerKeystroke ) ) = 10 ; 1; Code( Get ( TriggerKeystroke ) ) = 13 ; 1; )] Commit Records/Requests [ Skip data entry validation; No dialog ] End If Edited September 23, 2009 by Guest
Recommended Posts
This topic is 5814 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now