Access Filemaker pro 8 thru Apple Script

Hi ,

I have written a script for indesign, and i’m getting the input data from “File Maker Pro 8” . For that in apple script i’m calling file maker pro by using “show” command. When i run the script everything is working fine. But the thing is when i’m running the script “File Maker Pro 8” is invoked and it is visible.

eg. show (every record whose cell “EleNo” is 3)

I very well know that because of using the “show” command , file maker screen is visible.

But i need only to access data internally which should not be visible at the front end. The process should be done internally.

For this which command should i use?


You can’t hide or minimize, as Filemaker will pop back up when called. You can not activate or use a small window.

The only way is to completely excute your script from with-in Filemaker. Filemaker has a preform Applescript. Freeze Windows first then loop thru many Applescripts. When finished it will automatic unfreeze

Becuase Filemaker has breaks for " and return and tabs you can reformat a normal script to it language. Real pain for long scripts. and hard to debug.

Best to have a Applescript Application and send it handlers. Tell your app do handler(“x”,“y”)

Hope this is a help

what if you open the database hidden does that make any difference ?


Just remembered there’s ScriptDB. It using XML import and export. Haven’t had the chance to use it. But it sound good.

Since my last post I’ve worked out if you use a Non GUI object path (no show or layouts) you can get the data without flipping each record.

tell application "FileMaker Pro"
	tell database "DatabaseName"
		tell table "TableName"
				tell (every record whose cell "CellNameKey" is 1)
					set x to cell "CellName" as list
				end tell
			on error
				set x to {}
			end try
		end tell
	end tell
end tell

You get a list back list, it will error if nothing found so error capture and set to empty list. You have to say as list, if you don’t single item will not be a list therefore a different class.

Live and learn

Fun Fun