Makes an existing record or find request available for editing if the current user has record-editing privileges.
Viewing records as a form, list, or table
None.
Product | Supported |
FileMaker Pro Advanced | Yes |
FileMaker Go | Yes |
FileMaker WebDirect | Yes |
FileMaker Server | Yes |
FileMaker Cloud products | Yes |
FileMaker Data API | Yes |
Custom Web Publishing | Yes |
Runtime solution | Yes |
FileMaker Pro 6.0 or earlier
This script step makes an existing record available (in Browse mode) or an existing find request available (in Find mode) for editing if the current user has record-editing privileges. When performed on a record, this script step verifies that the user has sufficient access privileges to edit the record. If the user has the proper privilege set, FileMaker Pro Advanced attempts to prevent others from simultaneously editing or deleting the record. Once locked, the record is considered "opened" and may be edited.
If an error occurs (for example, if the current user has insufficient access privileges, the record is currently locked by another user, or the record is open in another window), FileMaker Pro Advanced generates an error message, which may be captured using the Set Error Capture script step and the Get(LastError) function. (Opening a find request will not return an error, because requests can't be locked by other users.)
Important Because any attempt to modify a field or a record will also attempt to open the record for editing, in most cases you will not need to use the Open Record/Request script step to open a record explicitly. But when using the Go to Record/Request/Page script step to enter a field or record, use the Open Record/Request script step first to obtain a write lock.
Prints the current invoice if the user has the privileges to edit it.
Go to Layout ["Print Invoices"]
Open Record/Request
If [Get ( LastError ) = 0]
Print [With dialog: On]
End If
Go to Layout [original layout]
Checks if the current user's account access has the privilege to edit records. If not, asks if the user wants to log in to a different account.
Note This script does not run properly if it is set to run with full access privileges because this allows any account to open the record.
Set Error Capture [On]
Go to Layout ["Invoice Details"]
Open Record/Request
If [Get ( LastError ) = 200]
Show Custom Dialog ["You cannot edit this record. Do you want to re-login?"]
If [Get ( LastMessageChoice ) = 1]
Re-Login [With dialog: On]
Else
Go to Layout [original layout]
End If
End If