Sender: |
|
Mime-version: |
1.0 |
Date: |
Tue, 6 Jun 2006 10:25:52 -0700 |
Reply-To: |
|
Content-type: |
text/plain; charset="US-ASCII" |
Subject: |
|
From: |
|
In-Reply-To: |
<p06230913c0ab567d005f@[128.253.187.23]> |
Content-transfer-encoding: |
7bit |
Comments: |
|
Parts/Attachments: |
|
|
> I have a Filemaker script that works the first time you run it.
> Second time you run it on the same record gives an error "Data is
> being accessed by another user, script or transaction." If you
> scroll to a previous record and back it works. If you open the script
> and look at it and try again it works.
>
> I have narrowed the problem down to a step in a "Perform Applescript"
> step that assigns a variable to a field, to wit:
>
> tell current record
> set field "filename" to filename
> end tell
>
> (This is a trick to move a variable from the Applescript to where
> another Filemaker script step can use it.)
>
> Apparently once it has done this it thinks the script is somehow
> still connected to that field, even though the script finished
> running three minutes ago. How do I convince it otherwise?
It isn't a trick. It is just how you set data in FileMaker from applescript.
Except that you have also made a basic script error; you need to refer to
cell, not field.
In FileMaker/Applescript terminology, a data table looks like a spreadsheet
and "field" refers to an entire colulmn. You need to refer to a cell.
Your record is uncommitted; you need to use the "save" command to commit the
record.
tell current record
set cell "filename" to filename
save
end tell
|
|
|