I just tried it myself, and apparently the check cannot be against the same table. I ran into this myself some time ago but did not remember this limitation.
What I eventually did was make sure my table had a primary key, and created a control table with a foreign key to this. I made a rule that editing succeed if the foreign key did not exist. When I want to lock a particular record, I just insert its key in the control table. I included in the rule that if NAME equals a special value the records are also editable. This is actually pretty elegant because you can reopen a record by deleting its companion in the control table or by setting NAME to the correct value. Dennis McGrath ________________________________ From: [email protected] [mailto:[email protected]] On Behalf Of jan johansen Sent: Thursday, March 05, 2009 5:43 PM To: RBASE-L Mailing List Subject: [RBASE-L] - RE: Locking a row Dennis, Actually I spoke to soon. I'm having a dickens of a time to get this rule correct. Any suggestions appreciated. Jan -----Original Message----- From: Dennis McGrath <[email protected]> To: [email protected] (RBASE-L Mailing List) Date: Thu, 5 Mar 2009 14:55:16 -0600 Subject: [RBASE-L] - RE: Locking a row Add a column to the table i.e. MyTableFlag INT default 0 Create a rule that only allows the row to be updated if this column = 0 When your routine has completed for a row, it changed the column to 1 Dennis McGrath ________________________________ From: [email protected] [mailto: [email protected]] On Behalf Of jan johansen Sent: Thursday, March 05, 2009 2:47 PM To: RBASE-L Mailing List Subject: [RBASE-L] - Locking a row Group, I need to think up a method to not allow ANY modification to a row after a certain routine has been completed. I know how to limit access to it from a form but might there be a way to disable edit on a row? A row trigger maybe? Jan

