Jump to content

btmeacham

Members
  • Content Count

    25
  • Joined

  • Last visited

Community Reputation

0 Neutral

About btmeacham

  • Rank
    novice

Profile Information

  • Gender
    Male
  1. I’ve got a database of film screenings, and am encountering some confusion when it comes to displaying data in a portal. I have a layout that displays a director’s name and then lists each of the films by that director that I’ve screened. Next to the title of each film, the portal displays the number of screenings of that title, and data about the earliest screening. My problem comes when there has been more than one screening of a particular title, and I’m unable to get the portal to properly display the correct city/state associated with the displayed venue for that earliest screening. In the case of a film with more than one screening, I can get the portal to display the venue of the earliest screening, but then it seems to pull city and state data from a venue related to a later screening, even thought the tables are linked. One added wrinkle: the venue data is actually in two tables, one for a master name for the venue (Venues), and one for the actual name at the time of the screening (Venue Name), which I initiated to take into account the fact that cinemas change names over time. Most of the records have the same value in both, but for some venues, I have two or three names in the Venue Name table that correspond to the cinema name for a particular date range. Here's the relevant section of the graph: From Person (director) to Title, connected by the join table Role, and then from Title to Screening of that Title, and on to the Venue of that Screening, through Venue Name for the version of the name at that time. In most cases, things show up fine, as in this entry under Steven Spielberg for E.T. One screening, with matching venue, city, state, and date.. When I've seen a film more than once, though, some error in the way I've connected the data together means that while the first Venue Name shows up (Greenwich Twin, in Greenwich, CT) and the correct date, 8/2/98, displays, the city of the Venue for a later screening (Los Angeles) follows. Here's a view of the portal row in Layout mode. It's unclear to me how FileMaker decides which set of information to display when there's more than one related record. I've fiddled with sorting the portal records by various fields, but with no luck. Any assistance in fixing this issue would be much appreciated! Thanks.
  2. Remember the part where I said it was probably simple? I will never again forget to make sure the result is set to be text. I promise. Thanks!
  3. This seems like it should be simple, but I can't seem to figure it out. Thanks to this solution http://fmforums.com/forum/topic/68663-sorting-titles-ignoring-the-a-an/ I created a field that stripped all of the leading articles from titles I'd like to sort. The calculation works properly, and the resulting "Sort Field" with no leading articles looks right. Then I ran a sort on that field... and found that the titles still aren't sorting properly. This sounds so basic, I'm not even sure how to explain it any further, but the sort I'm getting is only slightly different than what I get when I leave the records unsorted, and I see them simply in the order they were entered. It's not exactly the same, though; one or two records move around, but overall, it's not sorted in the "alphabetical order disregarding leading articles" way one would expect. Is there some step I'm missing? Is there any way something could be hidden in my calculation field that causes FileMaker not to sort on it in the way that seems obvious? Thanks for your help.
  4. Aaand solved again. So, despite what the documentation on filemaker.com indicates, comment was correct and using the Default setting results in searches that find words with accents even when accents aren't entered in the search. I was running into a problem where the search wasn't working correctly in a dynamic portal filter situation, so I also used Wim's suggestion to create a shadow field with every possible diacritic stripped out, and ran the filter through that field instead, with the user none the wiser. If I could make this solved twice, I would. Thanks.
  5. I'm returning to this topic because I can't seem to reproduce what I thought was a successful result from comment's advice. In looking at the information at the link provided, it looks like using Default storage does the opposite of what I'm looking for: it does not return a record with an accented name in it if the accent is not entered in the search. As it states, I'm looking for the exact opposite functionality, where someone who doesn't know where the accents fall can search for a person and get the correct result despite not using the correct accents. I'll revisit Wim's suggestion to see if I can get that to work. Thanks.
  6. Great, thanks! That's an even easier fix... I appreciate your help.
  7. Thanks! That did the trick, of course. And I'll see what I can do about getting Advanced installed. I didn't realize I'd be getting this serious, this quickly, but now it seems I have, and I could use the help. Thanks again.
  8. Thanks. I've uploaded a stripped-down database with the Title, Component, and Carrier tables. I have a few sample records in there, and the buttons for "Add a component" and "Add Carriers" work - except when you've specified "1" as the number of carriers, at which point it goes into infinite loop. Thanks for taking a look. Database_Sample.zip
  9. Thanks for the suggestion. I'll look into it and see what I can come up with.
  10. I'm working on a database where users can search by a person's name. Many of the names in the database have accents and other diacritical marks which it's important for us to keep and display properly. Unfortunately, if a user searches by typing in "Francois," the record for "François" will not be returned. Since it's a pain (at least on a Windows machine) to find and use those special characters, or the user might not even know that André actually has an "é" at the end of his name, I'm looking for a way to ensure that a search for a name that includes a character without a diacritic will find the name that has a character with the diacritic. I've seen a number of inquires about the need to strip letters of their diacritical marks using a substitute function, but I haven't come across a way to incorporate this into a setup where the name displays with the proper diacritic but appears, when being searched, as though it doesn't have any accent or other mark. I appreciate any help with this problem.
  11. One more quick question, eos, if you have a second: I've integrated this solution into my database, and it's all be going swimmingly, but I ran into a hiccup this morning: for components with only one carrier, the script gets stuck in a loop and continues generating new carrier record after new carrier record until you hit escape to stop the script. I've fiddled around a little but can't find a solution that allows for the creation of just one carrier. Here's the script as it is now: #make sure it's not empty, and a number #a size check may be in order, too If [ IsEmpty ( Component::Carriers ) or IsEmpty ( GetAsNumber ( Component::Carriers ) ) ] Show Custom Dialog [ Title: "No number specified"; Message: "You need to specify a valid number of new components to create"; Default Button: “OK”, Commit: “Yes” ] Exit Script [ ] End If #Really add? If [ IsValid ( Carrier::ComponentID_fk ) ] Show Custom Dialog [ Title: "Add new components?"; Message: "Add new components to the existing ones and increment?"; Default Button: “Yes” , Commit: “Yes” ; Button 2: “Cancel” , Commit: “No” ] If [ Get ( LastMessageChoice ) = 2 ] Exit Script [ ] End If End If # Set Variable [ $carrierID ; Value:Component::ComponentID_pk ] #offset is either zero or the number of already existing components for this carrier Set Variable [ $offset ; Value:Count ( Carrier::ComponentID_fk ) ] Go to Layout [ “Carrier” (Carrier) ] Loop Set Variable [ $counter ; Value:$counter + 1 ] Set Variable [ $newcarriers; Value:Component::Carriers ] New Record/Request Set Field [ Carrier::ComponentID_fk ; $carrierID ] Set Field [ Carrier::Increment ; $counter + $offset ] Exit Loop If [ $counter = $newcarriers ] End Loop Go to Layout [ original layout ] Thanks again for your help. I demo'ed the database to my colleagues yesterday and got a round of applause (this quirk notwithstanding). The fact that it works at all is mostly due to your help, which I very much appreciate.
  12. Thanks again. Your example was invaluable, and I've got the setup working just the way I'd intended. Thanks so much for your help.
  13. Thanks for the help. This all makes sense, and I'm seeing if I can get it to work. I have a few questions (and I think my Components vs. Carriers terminology might have gotten flipped; the Component is the parent, with multiple Carriers underneath it, in this setup): I've captured the Carrier_pk and the number of new records desired as two variables. I have a loop set up to create a new record populated with the Carrier_pk data. I've also created an increment field, and have set the loop to stop when the increment field value = the number of Carriers specified in the Component record. Can you show me what you mean about the next step, where each new record receives the "current loop counter" in the increment field? I think I'm close, but I haven't figured this bit out. Thanks.
  14. I'm trying to automate the creation of records in a table based on data from a related table. In this database, each Component has any number of Carriers. The Component has a unique number, six digits followed by a dash and an additional digit, such as 123456-1. In the Component table, the Carriers field is set to hold the number of Carriers, as entered by the user. Once this field is completed, I would like the script to automatically create a sequentially numbered set of records for the Carriers in the Carriers table. The Carrier numbering scheme is based on the Component number, and reflects the number of Carriers entered in the Carriers field in the Component table. For example, if the Carrier were numbered 123456-1 and I entered "6" in the Carriers field in the Component table, 6 Carrier records, numbered 123456-1-1, 123456-1-2...123456-1-6 would be created. I think I have the basic idea for how to script this, but I'm stuck. I know I need to set variables for the Component number and the number of Carriers in the Component table, then move to the Carriers table and create the number of records to match the $$CarriersNumber variable I set, but I'm having trouble figuring out how to do this. As an additional requirement, I need the number of Carrier records to maintain its connection to the value of the Carriers field in the Component record. If the user enters 6 and the script creates the records, but the user later learns there are actually 7 (or 5) Carriers, I'd like the script to be able to create or delete the related record as it goes. This probably won't happen often, but if it does, the script's ability to maintain the relationship between the Carrier field data and the number of associated Carrier records would be useful. Thanks for any help with this challenge.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.