rgordon Is the local expert on educational apps at our usergroup, maybe he has something that could fit your needs.
If I was getting started, I would choose the "contacts" starter solution which would serve well as the base for the contact information for students. Then, I would add some relational tables to that.
If you've never picked up FileMaker before. It's fairly easy to step into. However, if you've never had any programming or design (EG Quark, Indesign) experience, then it can be a daunting task.
If you're not in a hurry, following a zero-60 course like:
Learning FileMaker 16 (Lynda.com)
FileMaker Training Videos for Learning and Solving Problems (learningfilemaker.com)
May be a good starting point. There are hundreds of quality videos online, and more whitepapers on learning filemaker development than can be linked to here.
There's also the official filemaker training series:
that covers basic concepts in FileMaker.
The community effort here is geared towards finding answers to more specific questions. Or if you'd rather have people quote and develop an app for you, try the filemaker consultant search: FileMaker Consultants, Data Consultants, Database Consultants .
If you're going to develop, I'd also try to locate a filemaker usergroup close to you. Most are listed here:FMPug.com
Thanks for your answer. I have tried it the way you suggested. Right now I have 7 tables that are related by "Contact ID Matching Field" like in your diagram above. The main table is named contacts; with the following tables; Recitals, Studio Class, Lessons, Large Ensemble, Percussion Ensemble, and Recital Hour. The trouble I'm having is that when I create a new record for one of them lets say "Percussion Ensemble", the record is created with an new ID number and I'm not sure how to relate it to the Name of the student. Is there a way to tie each student to a specific ID number? so that when I add many records for percussion ensemble ie. many dates with grades for each student, that each student record will have many related tables?
Thanks in advance!
You use the Contact ID as the match field when you create new records in the other tables. That will tie any records in those table to a contact. As long as you have matches there you can report from the other tables - you get the student name by looking back from the table to the main Contacts Table. In my solutions I use fields names like this as keys - id_contact, id_lesson, id_recital etc. But I’d fully capitalize ID_CONTACT when that is the primary key for any table. So Recitals would have ID_RECITAL and id_contact in it. Contacts would have ID_CONTACT.
When you create the new records you could:
1. Use a portal on the Contacts layout to the Recitals table and have the relationship set to “Allow creation of related Records…”.
2. Write a script that: puts the id_contact into a variable, creates a new window, go to layout based on Recitals, create a new record, set field id_contact there with the value in the variable, close the window. Your portal will have a new row in it.
Thanks again! I think that I've done everything now. How do I trigger the script?
A button above each portal perhaps. Same effect as allowing the join to create new records but without the mystery of the portal row that doesn't exist until you type into it. Tidier for the user.
"If you properly shuffle a deck of cards, chances are that exact order has never been seen before - ever." ~the Internet
I would be very interested to see the probability calculation to determine the truth of your quote. ;-)
If I recall it was something about 52 Factorial. 80,658,175,170,943,878,571,660,636,856,403,766,975,289,505,440,883,277,824,000,000,000,000. Seemed reasonable.