MACSCRPT Archives

June 2006

MACSCRPT@LISTSERV.DARTMOUTH.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Bruce Robertson <[log in to unmask]>
Reply To:
Macintosh Scripting Systems <[log in to unmask]>
Date:
Tue, 6 Jun 2006 10:25:52 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (36 lines)
> 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

ATOM RSS1 RSS2