leonard Posted November 28, 2000 Posted November 28, 2000 I have a script that uses a pasted keyword to "Find" all the records for each component of my database. Downstream, I need this same script to change to the one of several layouts that matches my pasted keyword/component. For example, I want to go from artifacts to documents. My script uses the pasted "documents" keyword to find all documents and now needs to switch from the artifact layout to the document layout. Is it possible to have a (single) script switch layouts based on the pasted keyword? Thanks. L.
Chuck Posted November 28, 2000 Posted November 28, 2000 Sure. You just need some way for FileMaker to figure out which layout you want to go to. Here's a script that would do the job for two possibilities. Paste [ Select, gClipboard ] If [ gClipboard = "documents" ]
LiveOak Posted November 29, 2000 Posted November 29, 2000 I'm a little confused as to what you mean by "pasted keyword". If this is a value pasted to a field, that value can be tested in a script and use to cause a layout change to a layout based upon the value in the field. If the you are asking if a script can automatically execute based upon a value entered into a field (without the user pressing a button) the answer is 1) not with FM alone and 2) yes using a FM plug-in. -bd Wow, Chuck, you were posting while I was writing! [This message has been edited by LiveOak (edited November 28, 2000).]
Chuck Posted November 29, 2000 Posted November 29, 2000 BTW, LiveOak, I have used a technique that will execute a script based on the value entered in a field. It isn't perfect, using a Loop to continually see if the value of the field has changed, and exiting if it has. Sometimes there's a delay between the value changing and the script continuing, because I can't set a script to pause for less than 1 second, but if you really need it, it'll do the job. Chuck
leonard Posted November 29, 2000 Author Posted November 29, 2000 Chuck and LiveOak, Hi! Thanks for the speedy response. I must confess that while you were laboring to respond to my question, I learned of a solution totally unlike your method. In case your interested the following summarizes the approach: Central to this solution are two parts: 1) to access a layout via a pasted word, convert the word, that corresponds to a layout, to a layout number and 2) select the calculation field, "Calc" in this case, that utilizes the results of the Logical Function "Case" when script step "Go to Layout" and "Layout number given by field" are selected. Case ( Category="Artifact", 1, Category="Document", 2,... Default Result=0 ) A couple of comments - the calculation field, e.g., "Calc", does not have to be on any layer and FM notes that "Layout numbers correspond to the order of the layouts in the file." This solution is allowing me to use only one short script with six button choices to access the corresponding data input layout, out of six available layouts. It is better than creating many scripts that have to be maintained. Thanks again. I hope to work with you both again in the near future. Cheers. L.
Chuck Posted November 29, 2000 Posted November 29, 2000 I had thought of that, and almost mentioned it. It's a good solution, just make sure that you don't rearrange the layouts, otherwise your script could break. Chuck
Vaughan Posted November 29, 2000 Posted November 29, 2000 Be aware that the Recover command resets the layout order to the order in which they were created, so if at any time you need to recover the file you can be sure that the scripts will probably break.
Recommended Posts
This topic is 8764 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now