Newbies Darkness Posted December 6, 2005 Newbies Posted December 6, 2005 I made a script called "Search for", the idea was to make a search that would allow the users to search for a list of results. Things like Booked, Missed, CBRS, Dispute, Special, etc.... Everything is working fine, up until the point after where you click the option that you want to search for. It comes up with the menu and when you select "Booking" , it will search for "Booking", however it will only search "Apptresult" and it wont search the other 3 boxes "Apptresult2" or "Apptresult3" or "Apptresult4". What i want it to do is search the 4 boxes and search for what ever is selected in the menu. I also want it to search the 4 boxes, just not the "Apptresult" boxes. I have attached a Screen shot to show you the source code. Maybe someone can see what i have done wrong.
mr_vodka Posted December 6, 2005 Posted December 6, 2005 Without actually seeing what you are trying to do, if you have various fields that you want to search a keyword for, you will have to have seperate find requests for each field taht you want. In other words, take your find key word, "booking" and set it a global field. Then Enter Find Mode[] Set [field1; gKeyword] New Request Set [field2; gKeyword] New Request Set [field3; gKeyword] New Request Set [field4; gKeyword] I am not sure if this is what you wanted. Perform Find []
Newbies Darkness Posted December 7, 2005 Author Newbies Posted December 7, 2005 Without actually seeing what you are trying to do, if you have various fields that you want to search a keyword for, you will have to have seperate find requests for each field taht you want. In other words, take your find key word, "booking" and set it a global field. Then Enter Find Mode[] Set [field1; gKeyword] New Request Set [field2; gKeyword] New Request Set [field3; gKeyword] New Request Set [field4; gKeyword] I am not sure if this is what you wanted. Perform Find [] I dont know how to do the Set [field1; gKeyword]. I can get it to set the field, however i cant do the end part the ; gKeyword.
mr_vodka Posted December 7, 2005 Posted December 7, 2005 gKeyword is a global text field. If you are using a valie list to select your choice, you can have it used on this global field. If you are using some other means for the user to select their choice such as a button etc, then just set the glocal field to the value before entering find mode.
aldipalo Posted December 7, 2005 Posted December 7, 2005 I have been looking for a way to develop a basic "OR" search as a script and thought this would be it. However, I cannot find the commands you have noted in FM 8 Adv. This is what I have (see attachment)and it doesn't work. What am I doing wrong? Is there a way to get user input during a find script? Thanks for your help. Al Or_search_script.pdf
Lee Smith Posted December 8, 2005 Posted December 8, 2005 (edited) There are two basic finds in FileMaker. An "AND" and an "OR". an AND limits the found set to those records that meet ALL of the criteria you have entered on your Request. An OR will include all records meeting all of the Criteria any of the Requests. So, in a sense, your OR find can have one or more AND criteria in them. To preform an "AND" find, you would enter all of the criteria on one form. i.e. enter find mode Set Field (FieldA; "XYZ") Set Field (FieldB' "ABC") perform find this would find ONLY records having XYZ in FieldA [color:red] and , ABC in FieldB. To preform an "OR" find, you need to have a separate request for each variable. In other words, I want records with this in them, or I want records with that in them. enter find mode Set Field (FieldA: "XYZ) New Record Request Set Field (FieldB; 'ABC) this will find all records with either XYZ in FieldA, OR with ABC in field B. To work this into your own find script, just remember what you are want in your found set. HTH Lee Edited December 8, 2005 by Guest
aldipalo Posted December 10, 2005 Posted December 10, 2005 Hi Lee: Thanks for the response and script suggestions. Is there a script command to get user input and then continue to the next Set Field? I.E. Set Field(lName:get(userinput) New Record Request Set Field(lName:get(userinput) Where New Record request is a variable number (I guess a loop) Then perform the find? Additionally, I often have a need to look for several contacts OR companies or several contacts AND several companies in the same search, so my OR searches are usually pretty simple Find LastName = a OR LastName = b OR LastName = c Sometimes LastName = a OR LastName = b OR LastName = c AND CompanyName = A OR CompanyName = B OR CompanyName = c So my search is not LastName = a AND Company = A Can this be accomplished in a script requiring user input? I feel this would be a lot easier then having to teach all users the nuances of AND and OR searches and their combinations. Thanks for your input. Al
Recommended Posts
This topic is 6925 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