October 24, 200520 yr OK this is in follow up to a post last week regarding more than 30 records being found and having a custom message appear. I now have different criteria than what was originally given to me. See attached .pdf for the areas that I will be refering to. [color:green](FYI: An RFI is a Request For Information from a building contractor. Basically a question from him/her that is documented by the architect. We are the architect.) I now need to be able to find records for a specific PROJECT NUMBER (hilighted on .pdf). From that found set I need to omit records where the RFI CATEGORY (a value list) = "DI". There are instances where more than one category is selected for any one RFI. I need to only omit those where the "DI" box is the only one checked. I have tried using the extend and constrain script steps but I am confusing myself. Here's the portion of my script that is causing a problem: #Find all RFI's for current project. Enter Find Mode [] Set Field [RFI Tracker::project_number; Get (ScriptParameter) Perform Find [Restore] #this is set to Omit Records when RFI Tracker::rfi_category: = "DI" My script should return 81 records but has been returning upwards of 6000. I'm really confused about which to use and in which find to "specify find request" criteria. Also when, where, and if I should use either constrain or extend since they both allow you to omit records. Help greatly appreciated!! rfi_record.pdf Edited October 24, 200520 yr by Guest
October 24, 200520 yr I think the perform find restore is simply overriding the SetField step. Do the first Find after the SetField then do a Constrain Found set with the second criteria.
October 24, 200520 yr Author But then how do I get it to only omit those where "DI" is the only value checked? I want to be able to keep the ones where "DI" is clicked in addition to other categories.
October 24, 200520 yr Use omit records with an exact match criteria == "DI" this will keepo records where "DI" is not the only value in the field.
October 24, 200520 yr Author I have it set that way and it still kicks out the ones where multiple values are selected and "DI" is one of them. For instance, I have a found set of 31 records. 11 of them contain "DI" but there are 4 that have only "DI" checked. My end set should be 27 found records. FM comes back with 20.
October 24, 200520 yr The SetField step immediately after the Enter Find Mode ...Omit... in which you set the field to "DI" is overiding the =="DI" specified in the Enter Find mode. I think if you remove that step - by that I mean the SetField step -it should work. Edited October 24, 200520 yr by Guest Clarification
October 24, 200520 yr These two steps contradict each other: Enter Find Mode[ Specified Find Requests: Omit Records; Criteria: RFI Tracker::rfi_category: "== "DI""] [Restore] Set Field[ RFI Tracker::rfi_category; "DI"] In any case, your find can be performed in a single operation: Enter Find Mode [ ] Set Field[ RFI Tracker::project_number; Get ( ScriptParameter )] New Record/Request Set Field [ RFI Tracker::rfi_category; "==DI"] Omit Record Perform Find [ ]
October 24, 200520 yr Author Removing the Set Field step alters the script so that it no longer omits any records. I'm going to try the script from above to see what that does.
October 24, 200520 yr Author Ugh! It still omits the ones where "DI" is not the only value selected. Any other ideas?
October 24, 200520 yr Author Figured it out! I deleted my pauses because I don't need them anymore. Attached is the one that works. I highlighted the change. Thank you both for all of your help!! excessive_rfi_script.pdf
October 24, 200520 yr Ugh! It still omits the ones where "DI" is not the only value selected. I am quite sure it does not. See the attached demo. FindExactCheckBox.fp7.zip
Create an account or sign in to comment