Reference > Script steps reference > Records script steps > Open Record/Request
 

Open Record/Request

Makes an existing record or find request available for editing if the current user has record-editing privileges.

See also 

Options 

None.

Compatibility 

 

Product 

Supported 

FileMaker Pro Advanced 

Yes 

FileMaker Go 

Yes 

FileMaker WebDirect 

Yes 

FileMaker Server 

Yes 

FileMaker Cloud 

Yes 

FileMaker Data API 

Yes 

Custom Web Publishing 

Yes 

Runtime solution 

Yes 

Originated in 

FileMaker Pro 6.0 or earlier

Description 

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.

Example 1 

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]

Example 2 

Checks if the current user account 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

Related topics 

Script steps reference (alphabetical list)

Script steps reference (category list)