shpc Posted March 4, 2008 Share Posted March 4, 2008 Hello everyone, I am continuing unsuccessfully to encourage Filemaker Pro 6 to conduct a series of Deletions which will leave me with files that are useful. I should explain that I am attempting to create a situation where it will be possible to type in the names of individuals who are absent in the hopes of revealing who would remain to participate in rehearsals. To this end I have created a file that contains the breakdown of what Roles appear in what Acts, Scenes and Pages of a play. I have created a relationship between the Roles and another file that contains the Names of what actors are playing what Roles and their attendant contact information. Thereafter I have also included in the first file a couple of Fields that reiterate the First and Last Names of the actors represented by the Role Name, through the Look-up option. My aim is to be able to use Find to write in the names of actors who have to be absent in the first file and have a series of scripts produce the Names, Roles and subsequent Act/Scene/Page information for all actors who don't appear in the sections that the absent actors do. I have attempted to use Duplicate File elimination scripts but still lack the ability to entice the database to seek out those files that share common page references and so inevitably simply eliminate all of the Records represented by the actors who cannot be present for rehearsal. This despite some concerted efforts to use the Self-Join relationship to achieve this end. In another attempt I have created a series of scripts that replicate the Master File, save it, Find and eliminate those files in the subsequent backup Master that are not representative of those involving the absent actors (i.e. omitting the unfound records) and attempting to have this newly created Reduced file compared to the original Master. The aim would be to have some relationship established between the two 'before and after' files that would allow the Master file to seek out and eliminate all Records bearing an identical Page reference to those contained in the Reduced file. I'm afraid I lack the scripting knowledge to carry out this last phase of the search. I suspect it may be bound up in the use of "If", "Else" and "End If" logical descriptions but I lack the accumen to know what should be matched. I do have both a separate Serial Number for each Record in the original Master file as well as a Record ID comprised of the First and Last Names of each actor as it relates to each Record. If someone could offer a suggestion as to the scripting required, I would be more than grateful. If it is helpful to forward further information I would gladly comply. Many thanks for your kind consideration of this matter. Stephen Quote Link to comment Share on other sites More sharing options...
AHunter3 Posted March 5, 2008 Share Posted March 5, 2008 That could be a formidable task for FileMaker 6. Some of the cute functions of more modern FileMaker such as FilterValues are not available to you. Let's see.... I have created a file that contains the breakdown of what Roles appear in what Acts, Scenes and Pages of a play. I have created a relationship between the Roles and another file that contains the Names of what actors are playing what Roles and their attendant contact information. And your starting INPUT, at the time you want answers, is in the form of Actor names, specifically the ones NOT PRESENT. The answer you would would take the form of Acts, Scenes, or Pages (I would ever so strongly say PICK ONE of those three as your target level of analysis!). Loosely speaking, you would FIRST want to find all the Acts where one or more of the names you have input are playing Roles; then, having done so, you would do a Show Omitted Only to invert the found set, i.e., all the Acts where none of those names came up. So far so good, except your Acts will have Roles, not Actors. OKsies... General approach -- Loop thru the list of Actors that you input, obtaining for EACH of them the Roles that they are currently playing. I'm no thespian myself but that might be multiple roles for a given indiv actor, yes? FileMaker 6 means you use globals to store temporary data. FileMaker 6 also means files only set values in other files if they have a relationship, and I like mine universal for global-value-passing. I want you to make a value list in Actors, of related values only of the field in Roles that names the Role itself, related to the Actor record by the fact that the Actor is currently playing that/those roles. Call that value list "CurrentRoles", please. g.InputActorNames g.CurrentActorSearch g.Pos g.MissingRoles SCRIPT in Actors -- Upper Part note 12:53 EST on 3/5 edit: cut out an unnecessary inside loop because a found set from one actor's name in actors should only consist of one record, who needs a loop? /note Set Field [g.InputActorNames, "¶" & g.InputActorNames & "¶"] Set Field [g.Pos, 1] Set Error Capture [On] Loop .. Set Field [g.CurrentActorSearch, Middle (g.InputActorNames, Position (g.InputActorNames, "¶", 1, g.Pos)+1, Position(g.InputActorNames, "¶", 1, g.Pos+1) - Position (g.InputActorNames, "¶", 1, g.Pos) -1)] * .. Enter Find Mode [] .. Set Field [Actors, g.CurrentActorSearch] .. Perform Find [] .. If [status(CurrentFoundCount) > 0] ..... Set Field [g.MissingRoles, g.MissingRoles & Left ("¶", Length (ValueListItems (Status(CurrentFileName), "CurrentRoles")) & ValueListItems (Status(CurrentFileName), "CurrentRoles")] .. End If .. Set Field [g.Pos, g.Pos + 1] .. Exit Loop If [g.Pos + 1 > PatternCount (g.InputActorNames, "¶")] End Loop OK, if I did that correct (I'm doing this freehand, may require debugging), you end up with a list of Roles played by absent actors stuffed into the global field g.MissingRoles. OK that script. We'll go back in and edit it in a moment but save it as is for now. Now we want to obtain a found set of Acts in which one of those Roles is a factor. So what we want is a relationship between g.MissingRoles in Actors and the Roles field in the Acts file. Create that relationship now. Call it "ActsWithSelectedRoles". OK, reopen ScriptMaker and dive back into our script. Add these steps: Go to Related Records [show only related, "ActsWithSelectedRoles"] Perform Script [Remote, in Acts.fp5] OK/Save the script once more. switch files to Acts. pick a nice list view layout. Manually do a Page Setup, as if you were going to print this layout. Print once, manually, records being browsed. Create script: "ContinueScript GetActsWithoutMissingActors" Go to Layout ["List View of Acts"] Show Omitted Only Page Setup [restore, no dialog] Allow User Abort [Off] Enter Preview Mode [Pause] Print [] Enter Browse Mode [] OK that script. Switch files back to Actors. Reopen our long script again. Go to the bottom where you have the script step Perform Script [remote]. Select the script you created in Acts, "ContinueScript GetActsWithoutMissingActors". Then add: Refresh Window [bring to Front] Go to Layout [original layout] and OK it one final time. Note: this whole thing assumes that all Acts not containing your missing actors are fair game for tonight's rehearsal. If you're only doing Hamlet this season and you have Julius Caesar Acts in there also, you need to rethink your startoff and instead of entering the folks who are not here tonight, enter the ones who ARE... along with the play you're doing. You can do essentially the same routine except without the Show Omitted Only to invert the found set, and with an extra global for currentplayname which you include in your Find requests in the first part of the script. -------------------------- * Text Parsing Quote Link to comment Share on other sites More sharing options...
shpc Posted March 5, 2008 Author Share Posted March 5, 2008 Many, many thanks to AHunter3 for taking such care in considering the issue raised and offering a legitimate and detailed resolution through clearly defined scripting. I have not had the chance to work through this highly complex suggestion yet but it will be the focus of my attention tomorrow. I continue to approach the matter from a rather different perspective but welcome the chance to shift gears and follow a direction that should have a better chance of success than my present preoccupation. I'll be sure to report back the results of this experiment and want to just take this moment to offer deep thanks for a much needed life-line. It is enormously encouraging to find someone who knows the improvements of subsequent versions of FileMaker well enough to know that the matter could be handled more easily in this realm and yet capable of working out a routine that will work within the limitations of this earlier version. Thank you for taking this extra time to help someone who was literally languishing in the suspicion that the program was simply incapable of handling my needs. All the best, Stephen Quote Link to comment Share on other sites More sharing options...
shpc Posted March 6, 2008 Author Share Posted March 6, 2008 Hello all and especially AHunter3, Examination of the remarkably complex series of scripting considerations forwarded has left me painfully aware of my limited knowledge of the workings of FileMaker 6. Never having worked with Value Lists before and somewhat unclear about Global-value-passing, I can see that I have some rather fundamental reading to conclude before I can fully understand the processes outlined in the supplied script. I suspect that this series of Looping examinations have the capacity to extract a rather more elegant product than my own approach had attempted. Nevertheless, for reasons that remain elusive to me, I have arrived at a series of prerequisites that seem to be supplying the answers I had sought; namely the determination of what Acts, Scenes, Parts, Roles and Actors could be called upon to rehearse in an instance where certain Actors were unavailable. I will outline the parameters that allowed me to arrive at this point. A series of 616 separate Records were compiled that itemize for each page of the play "Twelfth Night", what Roles are represented and through the establishment of a relationship with another file that lists what Actors play what Roles, the identification of who appears on each page. The individual records were set up as follows: Layout#1 Act Scene Part (an arbitrary division established by the director) Phrase (another arbitrary identifier for each selected Part) Location (Where the scene takes place) Page TNRole Entrance Line Exit Line First Name (via a Relationship with the file depicting the Actor/Role info) Last Name (" ") Telephone Number (" ") Cell Phone Number (" ") Mark (introduced in an earlier attempt to mark files for duplication deletion) Global(" ") First Name2 (a Look-up replication that can be incorporated into the Layout) Last Name2 (" ") RecordID (First Name2 & Last Name2 & Page) Counter (Unique serial number) Check Duplicates (Unique or Duplicate - another Duplicate search approach) Two Defined Relationships were established and they are as follows: TNRoletoActor OriginalFullTNActSceneCharacter MainStageActorRoleHunter TNRole (Field) TNRole (Field) TNSelfJoin OriginalFullTNActSceneCharacter OriginalFullTNActSceneCharacter TNRole (Field) TNRole (Field) The processes and scripts used to extract the desired information are as follows: Open : DMActSceneCharacterTwelfthNightFullHunter (the primary file) Run Script TNInitialFileReplication Open ["DMActSceneCharacterTwelfthNightFullHunter"] Show All Records Save a Copy as ["OriginalFullTNActSceneCharacter"] Open ["OriginalFullTNActSceneCharacter"] Show All Records Sort [Restore, No dialog] Close ["DMActSceneCharacterTwelfthNightFullHunter"] Run Script TN1stDelete Enter Find Mode [Pause] {Type in Names of Absent Actors and use Requests/Add New Request for each name} {Click Continue} Perform Find [Restore, Replace Found Set] Select All Delete All Records [] {approve the request to delete the number of records listed} Save a Copy as ["ReducedDMActSceneCharacterTwelfthNight"] Sort [] {Manually Click on Sort after selecting Part and Page in Ascending Order} This process has resulted in the removal of all files that include the page references that accompany the Records that are set aside by the Actor Name Find conducted. I look forward to learning more about the workings of FileMaker and then attempting to decipher the incredible offering by AHunter3. I am also intrigued by the titillation of 'FilterValues' that are available in more recent versions of FileMaker. If they make the creation of Finds such as the one listed above more transparent and obvious, it might be worth my while finding the resources to upgrade. Thanks once again to AHunter3 for his efforts. My present file designations end in 'Hunter' as a tribute to the individual who encouraged further efforts to find a resolution. Quote Link to comment Share on other sites More sharing options...
shpc Posted March 7, 2008 Author Share Posted March 7, 2008 To all interested parties and most particularly to AHunter3: Needless to say, the previous posting that listed the simplistic method of obtaining the desired information of what Actors and what Acts, Scenes and Parts might be rehearsed in a situation where a certain number of known absences would impact the selection, has proven fundamentally flawed. Although the program returned the astonishingly accurate representation of what Records remained after an initial Find, it was not possible to have it repeat this accuracy when other names were added in separate Finds. There must have been some peculiar coincidence occur where enough Finds had been attempted that one result was finally arrived at which matched the criteria input. I know at the time I had been surprised as I had been operating on the assumption that a minimum of three Finds would be required. It was not until I extrapolated the method in dealing with another play that I realized that the first Find would only result in the determination of what Records would be deleted when a single Find of however many Actor's contribution were taken into account. Obtaining the method of comparing these found Records with those of the Master list still eludes me. As a consequence, it has not yet been possible to eliminate all Records represented by the page references of those involved in scenes who are absent from the rehearsal. The simple equation of a subset to the master file and the subsequent linkage of identical page numbers in both the Records to be excluded and those left behind in the Master file, seems impossible to quantify. AHunter3 has been gracious enough to outline the methodolgy of using Value Lists and Loop Finds to weed out the desired answer but the very basics of Value Lists and how to create them leaves my head spinning. AHunter3 wrote: "I want you to make a value list in Actors, of related values only of the field in Roles that names the Role itself, related to the Actor record by the fact that the Actor is currently playing that/those roles. Call that value list 'CurrentRoles', please." I am assuming that I am to make this Value List a part of the file that contains the Actors Names and their Role Assignments rather than the related file that contains the listing of Acts/Scenes/Parts/Pages/Roles etc. I further assume that the Value List is to be attached to the Role Assignment in the Layout for this file. Beyond that, I remain lost as to how to compile the list. The question literally is what am I writing in my first tentative step toward generating the needed script? What follows are a series of what I assume are meant to be new Field Names to be incorporated into the Layout of the file containing the Actors Names and Role Assignments. i.e. "InputActorNames" "CurrentActorSearch" "Pos" "MissingRoles" I continue to try and read my way through the FileMaker 4 and 6 User Guides in the hopes of fully understanding what I should be doing in regard to creating a Value List but any help would be deeply appreciated. As AHunter3 points out, the task I've posed does seem to challenge FileMaker 6. I remain surprised as I would have thought such a basic comparison between a subset and a master would be a regular occurrence with any relational database program. Can anyone tell me if more recent FileMaker or competative database programs make this matter a more easily handled consideration? I'm afraid my first introduction to this programming has been a daunting one which leaves me skeptical about the search for more complex answers. If things have improved markedly with the recent versions of the program I would be most grateful for the explanation about how I might solve this matter faster. Meantime, if anyone can help me to understand, step by step, what I need to do to get AHunter3's brilliant programming to work in my version of FileMaker, I would be eternally grateful! Many thanks, Stephen Quote Link to comment Share on other sites More sharing options...
AHunter3 Posted March 7, 2008 Share Posted March 7, 2008 Value List 101 Let's say you have two files, File A and File B. In fact, let's say File A is actually Cuisines (types of food, restaurant fare) and File B is actually Entrees (items you would see on the menu, Main Courses). Each Entree is a part of one cuisine or another. Enchiladas? Mexican. Veal Scallopine? Italian. Jägerschnitzel? German. Suppose you wanted a value list of Entrees. Go to File menu, Define, Value Lists. Ask to create a new one, and you'll see two main options: custom value list, and field values. If you decided to do a value list of Entrees as custom value list, then every time you added a new food to your database (hmm, War Tip Har, very nice!) you would also, separately, have to open Define Value Lists and add "War Tip Har" to the custom value list. That's no fun, and as it turns out it's not necessary. You can define the value list as "all values of the field "Entree Name" from the file "Entrees. You can do that even if you're defining your Value List over in the Cuisines file. There's a button that lets you pick an external file to select what field you want to get your field values from. With me so far? Now here we are in Cuisines. We liked our dropdown value list of Entrees so much that we made another dropdown list, this time of Cuisines, showing all values of the field Cuisine Name from the file Cuisines, which is the file we are in. (NOT using an external file for the field source this time, just the file we're arleady in). One day it occurs to us that it would be kinda cool if we could pick the Cuisine, and, once having picked it, click on Entree and have it show not all the Entrees in the system but instead only those Entrees that are of the Cuisine we entered in the Cuisine field. Pick "French" and you see "L'Entrecote" but not "Huevos Rancheros" when you click in Entrees. Pick "Mexican and it's the other way around. THAT is what is called a "relational value list", meaning that it shows related values only, not all values, of the field specified. The relationship would be between the Cuisine Name here in the Cuisine file and the Cuisine Name over there in the Entrees file. Please read this older post now which explains the structure of the two files until you get a sense of how that works. Now, onward to YOUR situation. I said I want you to make a value list in Actors, of related values only of the field in Roles that names the Role itself, related to the Actor record by the fact that the Actor is currently playing that/those roles. Call that value list "CurrentRoles", please. I am assuming you have a file Roles.fp5 which has Role Name and also Actor Playing That Role, as two separate fields; I assumed this because I assumed that a given Actor might be playing more than one Role, but each Role would be played by only one Actor. Those may not have been correct assumptions on my part. Anyway, on that assumption, I was saying that there should be a Relationship — set up in Define Relationships — between Actor Name over here in Actors and the Actor Playing That Role field over there in Roles. If this makes sense so far, and you can see how you would set up that relationship in Define Relationships, then back to value lists: You would set up a value list of the values of the field Role Name in Roles; this value list would be defined in the Actors file, so you would be using an external file (Roles) as the file containing the field from which you are drawing field values; and you would not be using ALL values but Related Values Only -- when you click Related Values Only, you find that instead of fishing around for the file Roles.fp5, you instead pick the existing Relationship from a dropdown list of Relationships that exist here in your Actors file. There is is, "Roles". (Or "Roles by Actor" or whatever you chose to name your Relationship -- you can name them pretty much at will when you create them). Once you've picked the Relationship, there's your list of fields that are in the Roles file, and you pick Role Name. What you end up with, is if the Actor name is "John Sullivan", the value list would show the name of every role where "John Sullivan" is what is typed into Actor Playing This Role. In other words, John Sullivan's roles, not all the roles in the system. (is that cool, or what?) Finally: ValueListItems is a function. A function that you can use in a script. Set Field [AnyOldField, ValueListItems ("Actors", "Roles by Actors")] means put this value into the field "AnyOldField" : all the values of the Value LIst that is named "Roles by Actors" and the file containing that value list is named "Actors". I often use the format ValueListItems (Status(CurrentFileName), "Name of Value List") because if you say Status(CurrentFileName) your function won't blow up and stop working if you rename the file some day. Whatever the file name is, if you're in it its name is still the current file name, yes? OK, now give it a whirl. Quote Link to comment Share on other sites More sharing options...
shpc Posted March 7, 2008 Author Share Posted March 7, 2008 Hello AHunter3 and all other interested parties, (Part 1 or 2 dealing with this matter) Thank you for your latest background explanation for the use of Value Lists and a further explanation concerning the 'relational' nature of relational databases. I have applied the scripting suggestions supplied as well as establishing the Value List and Relationship definitions that were a part of the recommended process. Regrettably, the results have been disappointing. Undoubtedly some aspect of my scripting input is flawed or perhaps the method of my establishment of the Value List or Relationship definition has been inadequate. However, at present once I've input the names of the absent actors in the 'InputActorsNames' pop-up box located in my Actor/Role file and activated the script file, I have the computer open the first of my Records in the second file containing the Act/Scene/Part/Page/Role/First Name/Last Name file. Pressing the Continue button takes me to the Print screen. Having selected a file name to print the data to, the screen indicates that the program is cycling through the Records and finishes with sending me back to the Actor/Role Find screen with g.Pos reading 7. I have attempted to read the resulting file , again in FileMaker with the conversion resulting in a table of three columns that contain gibberish symbols. Needless to say, I will make an effort to actually attach a printer to the computer to see if this method of reporting is more helpful. However, at present, I see no useable returns. It might be helpful if I outline what I have done in order to try and commence a useful examination of what is either failing in my understanding or in the existing scripting. I start this project with four basic files. They are named: DMActSceneCharacterTwelfthNightFullHunter KingLearActSceneRoleDatabaseHunter MainStageActSceneCharacterRevisedHunter MainStageActorRoleHunter The first three of these files are virtually identical in their structure, the only real difference being that the first concentrates on defining the Twelfth Night Roles, the second the King Lear Roles and the third, a combination of the Twelfth Night and King Lear Roles. In other words, the third file is a physical merging of the first two files. Each of these three files contains fields that define the Act, Scene, Part and Page that a particular Role occupies. There are 616 Records in the Twelfth Night file that define for each character, what page reference that character will occupy. Similarly there are 552 Records in King Lear that do the same thing. Finally, there are 1168 Records that do the same thing in the combined or merged file that deals with the two plays in one database. The fourth file, MainStageActorRoleHunter, contains the Records of each character or Role required for both of the two plays and the name of the Actor assigned to those Roles, as defined by First Name and Last Name. As there are indeed instances where on Actor may be required to play multiple Roles in either play, there are many more Records in this file than simply one for each Actor name. (This was built before I knew anything about Value Lists and pop boxes) The first three files are already linked to the fourth file through six defined Relationships, namely 'TNRoletoActor', 'KLLinkwithActorInfo', 'MainStageActorRoleTestforTN', 'MainStageActorRoleTestforKL', 'TNSelfJoin', 'KLSelfJoin' and 'TNKLSelfJoin'. 'TNRoletoActor' links the TNRole Field in DMActSceneCharacterTwelfthNightFullHunter to the TNRole Field in MainStageActorRoleHunter. 'KLLinkwithActorInfo' links the KLRole Field in KingLearActSceneRoleDatabaseHunter with the KLRole Field in MainStageActorRoleHunter. 'MainStageActorRoleTestforTN' links the TNRole Field in MainStageActSceneCharacterRevisedHunter with the TNRole Field in MainStageActorRoleHunter. 'MainStageActorRoleTestforKL' links the KLRole Field in MainStageActSceneCharacterRevisedHunter with the KLRole Field in MainStageActorRoleHunter. 'TNSelfJoin' links the TNRole Field in DMActSceneCharacterTwelfthNightFullHunter with the TNRole Field in DMActSceneCharacterTwelftheNightFullHunter. 'KLSelfJoin' links the KLRole Field in KingLearActSceneRoleDatabaseHunter with the KLRole Field in KingLearActSceneRoleDatabaseHunter. 'TNKLSelfJoin' links the Second Name2 Field in MainStageActSceneCharacterRevisedHunter with the Second Name2 Field in MainStageActSceneCharacterRevisedHunter. For the sake of limiting time and complexity of testing, I have been concentrating on attempting to use the Twelfth Night files to establish if I can arrive at a conclusion that will Find what Actors and what Acts, Scenes, Parts and Pages will be available to be rehearsed when a known group of Actors will be absent. I have proceeded on the assumption that when one or more Actors have to be absent that all other Actors listed as working on the same Page of text will likewise be considered absent, or at least that these pages will be omitted from the search. I have successfully arrived at the point of executing a Find that will establish what Records are represented by those Actors who are absent and therefore what Records remain available for consideration. However, it will be necessary to have a script compare the Records to be Deleted (i.e. those of the absent Actors) with the original file as a whole to assure that the remaining Records that have the same Page reference are also Deleted. Following AHunter3's advise, the following Value Lists have been established in the MainStageActorRoleHunter file: 'CurrentTNRoles' with the Source being "From Relationship" and the Values being Field:"TNActortoRole::TNRole". 'CurrentKLRoles' with the Source being "From Relationship" and the Values being Field:"KLActortoRole::KLRole". Further, the following Fields have been added to the MainStageActorRoleHunter file: 'g.InputActorNames' - Global, Text Field 'g.CurrentActorSearch' - Global, Text Field 'g.Pos' - Global, Number Field 'g.MissingRoles' - Global, Text Field The defined script supplied for this venture has been named 'AHunter3Phase1' and resides in the MainStageActorRoleHunter file. It reads as follows: Set Field [“g.InputActorNamesâ€, "" & g.InputActorNames & ""] Set Field [“g.Posâ€, “1â€] Set Error Capture [On] Loop .. Set Field [“g.CurrentActorSearchâ€, “Middle (g.InputActorNames, Position (g.InputActorNames, "", 1, g.Pos)+1, Position(g.InputActorNames, "", 1, g.Pos+1) - Position (g.InputActorNames, "", 1, g.Pos) -1)â€] .. Enter Find Mode [ ] .. Set Field [“TN Roleâ€, “g.CurrentActorSearchâ€] .. Perform Find/Replace [ ] .. If [“Status(CurrentFoundCount) > 0â€] ..... Set Field [“g.MissingRolesâ€, “g.MissingRoles & Left ("", Length (ValueListItems (Status(CurrentFileName), "CurrentRoles")) & ValueListItems (Status(CurrentFileName), "CurrentRoles"))â€] .. End If .. Set Field [“g.Posâ€, “g.Pos + 1â€] .. Exit Loop If [“g.Pos + 1 > PatternCount (g.InputActorNames, "")â€] End Loop *Please Note: Several changes were made to the suggested Script. The first involved removing the * symbol that had been included in the ‘Set Field’ line that follows the ‘Loop’ instruction. The program did not seem interested in including this symbol, protesting that ‘A number, text constant, field name, or “(“ is expected here’. The second change involved adding another “)†to the end of the ‘Set Field’ line that follows the ‘If’ instruction. Again, the program balked at having an uneven number of brackets displayed and this seemed the logical locale to include the equalizer. The ‘Perform Find [ ]’ line has been exchanged for a ‘Perform Find/Replace [ ]’ option, which seemed to fit the syntax limitations which demanded either ‘Replace Found Set’, ‘Constrain Found Set’ or ‘Extend Found Set’. Finally, the program expected many more Ҡdelineations and would not permit the scripting to proceed without the added inclusion. What is listed above represents the revised version of the originally supplied script. This ends Part 1 or 2 Extended descriptions of this matter developed 03/07/08. Quote Link to comment Share on other sites More sharing options...
shpc Posted March 7, 2008 Author Share Posted March 7, 2008 This is Part 2 of an extended explanation written 03/07/08. At this stage, AHunter3 sought the creation of an additional defined Relationship in the MainStageActorRoleHunter file. Named ‘TNActsWithSelectedRoles’, this Relationship established a link between the ‘g.MissingRoles’ Field in MainStageActorRoleHunter and the ‘TN Role’ Field in DMActSceneCharacterTwelfthNightFullHunter. Following this creation, the AHunter3Phase1 script file was once again opened and the following additions were provided: Go to Related Record [show, "TNActsWithSelectedRoles"] Perform Script [ ] *Please Note: Some additional revisions were made to the originally supplied script and are reflected in the supplied example. Specifically, the first line, ‘Go to Related Records’ had to be reduced to the singular version of ‘Go to Related Record’ and also had to have the phrase ‘Show only related’ reduced to ‘Show’, as the full expression is only listed in a ticked options box. The ‘Perform Script’ line had to be changed from ‘[Remote, in Acts.fp5]’ to ‘[ ]’. AHunter3 now sought the saving of the script file and the opening of the DMActSceneCharacterTwelfthNightFullHunter file. The ‘View As List’ option under ‘View’ was to be chosen and a manual Page Setup (or Print Setup) was to be done with an initial ‘Print’ executed. Within DMActSceneCharacterTwelfthNightFullHunter, a new script file was to be compiled, which was subsequently named, ‘TNContinueScriptGetActsWithoutMissingActors’. It’s scripting was to read as follows: Go to Layout [original layout] Show Omitted Print Setup [Restore, No dialog] Allow User Abort [Off] Enter Preview Mode [Pause] Print [ ] Enter Browse Mode [ ] *Please Note: The above script needed some revision. Namely the Layout selected in the first line needed to reflect a Layout pattern that opened with the List View. The ‘Page Setup’ had to be replaced with the ‘Print Setup’ in the absence of the original request. AHunter3 then had the created script closed and the MainStageActorRoleHunter file reopened. The ‘AHunter3’ script was re-opened and the following line revised to read, Perform Script [sub-scripts, External: “DMActSceneCharacterTwelfthNightFullHunterâ€] Refresh Window [bring to front] Go to Layout [original layout] *Please Note: When the ‘Specify: External Script…’ box is opened in the Perform Script category, the ‘TNContinueScriptGetActsWithoutMissingActors’ is identified. These various steps have all been executed as instructed and it is hoped that some fundamental programming flaw may jump out at the seasoned script writer. Barring that obvious solution, another method of juggling the categories to assure that the match up that is sought is arrived at, would be most welcome. Thanks continue to be forwarded to AHunter3 who has devoted so much time and thought to this matter and continues to try and resolve the matter. If it would be helpful to forward the offending files for further examination, I would be happy to do so. All the very best, Stephen Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.