Please help with an easy Filemaker problem!
July 17, 2009 8:38 PM   Subscribe

How do you create repeating fields in Filemaker so that I can organize my karaoke songs by disc instead of by artist?

I'm bought a few karaoke games for the PS3 and I want to create a database for people to be able to flip through to find the song they want.

My knowledge of Filemaker is a bit limited, but I know this is possible: Basically, I want to create a database that lists each song and artist by disc so that it's easy to find what a person wants to sing next.

The Music Library template that Filemaker 10 comes with is close to what I want, and I've modified most of the fields to suit my needs.

Here's my problem:

On the right-hand side of the Music Library template, it has the option to type out the track names. If you press return, it'll automatically create another field to write another song name. I want to use that AND create a field for Artist name as well.

I just can't figure out how to auto-create the Artist field over and over in the same fashion as the Track field.

I hope this is making sense to you (it should if you check out the template and create a couple of tracks). Basically, I want to create a field for Artist, then Track name and then have those two fields repeated. Right now, the template is Artist-centric. This way, it'd be disc-centric (essential since there's twenty artists on one disc).

Thanks for the help
posted by smersh to Computers & Internet (4 answers total)
I'm not sure what your database looks like, but what I would do is:

Under "Define Database"

(1) Create a Song table in the table tab. In the fields tab, make sure this table includes fields for song title, song artist, and album name. (The template you are working with probably has an equivalent for this. but if it doesn't have a field for the album name, you should create one as a text field. )

(2) Create an Album table. This table should have a field for Album name. (Aside from information about the album, that's all it needs.)

(3) Make sure you are typing in the album names exactly the same way in both the Song table and Album table. (A better way would be to create an auto-generated unique ID, but that's slightly more advanced than what you are trying to do at the moment.)

(4) In the relationship tab, create a relationship between Song::AlbumName and Album::AlbumName. They should "equal" each other.

In "Layout View"

(5) Create a portal in a layout displaying the Album table that shows the Song table. You want the portal to show all the fields for the song. Also, you want to enable the scroll bar.

(6) Switch to browse mode.

The great thing about Filemaker is the help file. While slow to load, it tells you everything you need to know (once you know what you think you need to know).
posted by ifandonlyif at 9:43 PM on July 17, 2009

First, you don't want repeating fields, as those are a legacy from FileMaker Pro 2 and truly a dead end for what you are describing.

Instead, as ifandonlyif suggests, you want a relationship between an Albums table and a Songs table, and you want to display the related Songs records in a portal on a layout based on the Albums table.

The FMP Help has lots of useful examples of how to do this. Really. (Disclaimer: I used to work for FileMaker, Inc. and wrote some of these Help topics, so I know what's in there, and the Help is fairly complete, with a good mix of overview, HowTo, and technical explanations of how every feature works. Specifically, there are HowTo articles on defining relationships that include clear, easy to understand examples of how to make a relational FMP database). FMP 10 also has tutorials and video tutorials on the web site that can get you on the right path.

FWIW, I took a quick look at the included Music Library template, and like most FMP templates it has a fair amount of complexity hidden beneath its surface. The template is preconfigured such that the Tracks table already has an "Artist" field, but it's defined to be a calculation showing the value from the parent record in the Music Library table. The easiest way to do what you want would be to go into Manage Database and redefine the Artist field in the Tracks table to be a simple text field, and then shorten the TrackName field on the Tracks portal (the layout you see when you open the Music Library file) and slip the Artist field in next to it. Much easier done that described, lol.

Unfortunately, I don't have time tonight to write up a full set of step-wise instructions on how to do this. Hopefully, the above is enough to get you started; otherwise, send me a PM and I'll send you a version of the template modified as I described. It's literally a one minute modification once you become familiar with FMP.
posted by mosk at 10:24 PM on July 17, 2009 [1 favorite]

ifandonlyif is right about a making your own database from scratch, but if you want to work with the Music Library as a starting point, here's a more specific answer:

It looks like the Music library template has just about everything you need, it's just making one assumption that you don't want: that the artist of a disk should be set by the disc overall, not by each track.

Here's what you'd need to do to fix the Music library example to fit your needs:

1.) Open "Manage Databases", and find the "Tracks" table.

2.) Edit the "Artist" field to be a "Text" field (it's currently a calculation, pulling information from the Album)

3.) In the Record Detail layout, add the "Tracks::Artist" field to the portal on the right-hand side. Use the existing fields as a model—just duplicate the TrackName field, and change field it refers to.

4.) You might want to rename the "Artist" field in the Music Library table, and on the various layouts to say "Album Artist" or some such, if that makes sense.
posted by jerwood at 10:29 PM on July 17, 2009

thanks for the help.

I'm still a bit overwhelmed by Filemaker. I think that, one of these days, I'll have to sit and really learn it.

I found that Bento ended up suiting my purposes. I'll definitely be going back to Filemaker but, in the meantime, Bento will do.

thank you again!
posted by smersh at 8:30 AM on July 23, 2009

« Older ISO waterproof luggage   |   Looking for a hotel in Washington, D.C. Newer »
This thread is closed to new comments.