13 Replies Latest reply on Jun 14, 2013 11:53 AM by GuyStevens

    Help on taking attendance using FM Pro



      Help on taking attendance using FM Pro


      Question sent to me by user: "Kathy"
      So there are around 450 students, and the only data that we keep on the database is their 
      first/last names, their student id, and their school user ID. Example:
      First name: Iron
      Last name: Man
      Student ID (always a 7-digit number): 5555555
      School ID: ironman7
      The barcodes would be created from their school ID. 
      The classes are a bit more complicated. For now there are only about 5 classes for which this 
      system would be used, but we are looking for a long-term solution to taking attendance so more 
      classes would most likely be added as time goes on. 
      Each class is going to be held at multiple locations at the same time, and each class might be 
      held on several different dates. 
      For instance:
      Class: Learning to make an Iron Man suit - 10:30am, 8 locations
      Class: Learning to fly with a suit - 2pm, 6 locations
      Class: Limitations of the Iron Man suit - 4pm, 1 location
      Dates for the classes:
      10/9, 11/3, 12/3
      This is what the requestor of this application sent me:
      "So, the student shows up on (for example) October 9th and goes to the 10:30am and 2pm sessions. 
      Their barcode/QR is scanned at the door for each session, and then loaded into a FileMaker file 
      (that should delineate the day and time). 
      Then, in the evening I can go into the file and run a list of all students who check-in at the 
      10:30 session or the 2pm session.
      It would be nice to run the report either by specific time or click and select all times, two 
      times, three times, etc."
      Does this make the project any clearer? I'm sorry I'm probably being unclear. Because I am just 
      an assistant I'm actually not in close touch with the requestor, which makes this pretty 
      frustrating on my part.
      Thank you for your help!

        • 1. Re: Help on taking attendance using FM Pro

               Ok, first of all, I have no iPhone or iPad and no way to play around with barcodes / qr-codes. Any help on that would be really appreciated.

               But for the rest I think we can work something out.

               For now, as I understand it, we would have a layout for students and we will store their information.

               We will enter all the classes beforehand and we will list all the possible dates they will be given on, the times they will be given on and the locations.

               Then later on, a teacher chooses a class based on the current date (he can only select a class that's given on that specific date) he selects a time and a location (he should only see the times and locations for this specific class) and then students get entered (barcode part should come later)

               The time a students "scans in" is stored so you can tell which students were to late.

               Then on the student layout we want to see a list of the classes they attended, and we want to make reports listing classes and the attendance.

          • 2. Re: Help on taking attendance using FM Pro

                 Students will be scanned at the door with what hardware? Scanners linked to computers typically run in keyboard emulation mode such that the scanned data is entered into the computer just as though you had someone sitting at the comptuer rapidly typing in the data. Such scanners can usually be configured to put a specific character or group of characters at the beginning of the scanned text and you can configure your layout to use the OnLayoutKeystroke trigger to perform a small script that puts the cursor in the correct field so that the scanned data then is correctly entered into the field.

                 Then you can set up the scanner to append a return, tab or enter character to the end of the scanned data and this character can then cause the cursor to exit the field, tripping the OnObjectExit trigger to perform a script to process the scanned data.

                 Thus scanning the barcode can put the code into global field and a script can then process the scanned data to log the student's attendance and all the user did was scan their ID card.

                 But if they will be using an iOS device such as an iPhone to scan the barcode, the process is more complex and you should ask that question in the FM GO Forum.

                 If you search this forum with the keyword Barcode, you should be able to find a number of posts where I've suggested sample scripts for integrating a barcod scanner with FileMaker.

            • 3. Re: Help on taking attendance using FM Pro

                   Thank you DaSaint for moving this to the forums and PhilModJunk for your advice. The barcodes will be scanned using an iOS device, and I plan on using FileMaker Go on the devices. I'll definitely look there for guidance.

                   As for the main database, DaSaint - you definitely have the right idea. I can create a table with the student info and I can generate individual barcodes based on their username. I'm not sure how to organize the table/layout for the classes - how could I input multiple dates and locations for each class? I think I'm too used to thinking of tables as simply 2-dimensional, so I'm having trouble imagining the organization of this database.



              • 4. Re: Help on taking attendance using FM Pro

                     Allright, so here's a first screencast on getting this database made.

                     It's a little long but I think it is handy to see someone do it.

                     It's just one way of doing this kind of thing and there might be other / better ways to do this.

                     It's also pretty basic and I don't add all the details, and bells and whistles.

                     EDIT/ I had to change the URL because the video didn't seem to be playing. I hope it works now.


                • 6. Re: Help on taking attendance using FM Pro

                       Part two:


                       Part Three:


                       Now if you want you can start making all kinds of printable reports showing the list of students attending a specific class, or printing the list of classes a particular student has visited. etc.

                  • 7. Re: Help on taking attendance using FM Pro

                         Hello, I have followed your YouTube tutorial and it was really good. I got everything to work and even made some changes so I could track things for my karate school.

                         I am trying to get the LayClass layout to pull the records from the attendance - so that I can create a record in attendance and then go to the classes and see all the lessons that have been recorded for that main class.  


                         That's my database that I have so far. I couldn't figure out how to turn off security so the user is Admin and there is no password.

                         If you have any advice on how to get that to work I would appreciate any ideas.

                    • 8. Re: Help on taking attendance using FM Pro

                           Hey Alexis.

                           You have a problem in your Attendance Layout.

                           You are selecting a class. But no Class Detail.

                           It took me a little while to figure out but you are selecting a Main Focus. And that is supposed to correspond with a Main focus from your classes. But you are not setting the Class Detail ID here. Just the main focus.

                           What you need is to:

                           - Select a class.
                           - And then in the Main Focus you should only be able to select the Main focuses that exist for that class. Maybe with Date and everything.
                           This is called a Conditional Value List. I have a video on that.

                           I made some changes to your file but I can't explain them all. I made a conditional value list on your attendance layout so you can select a Main Focus from the Class details.

                           I suggest you check out my video on conditional value lists. And analyze the changes I made.


                      • 9. Re: Help on taking attendance using FM Pro

                             Thanks for your quick reply - I saw the changes and watched the video again. I think I understand how it works a little bit better now. You are such a huge help!

                             The only problem is that I can't figure out how to make class record work backwards from attendance.

                             In my case, the classes themselves never change - they are always on the same day at the same time. So I would like to be able to use the attendance layout to select the date - then the class - then define what we did in that class and take attendance.

                             Then when I go back into the classes layout - it just gives me a visual of what we've done in each class.  

                             Right now, the way I understand it, I would have to first create the class in the class layout and define what we did - then go to the attendance layout to choose that class - that main focus - and then take attendance. I'd like to cut out the extra step.

                             Sorry if this is confusing - I can't reverse engineer it and have it work :/

                        • 10. Re: Help on taking attendance using FM Pro

                               Hey Alexis. If I were you I would just throw out the Attendance table and relate your Attendance detail stroight to your Class details.

                               That way you go to your Class layout, enter a Class detail in the portal. Set the Date, Time and main focus. And immediatly set attendence on that layout.

                               I don't think you need the extra attendance layout.

                               I think that might make your file a whole lot simpler.

                          • 11. Re: Help on taking attendance using FM Pro

                                 I made a quick little test here:


                                 I didn't check it thouroughly but it seemed to be working.

                                 I added attendance taking to the Classes layout. And modified the portal on the Student layout.

                                 Let me know if this is in the right direction.

                            • 12. Re: Help on taking attendance using FM Pro

                                   Thank you for taking the time to go through this with me, I am learning a lot. 

                                   I went through the file you created and it is almost exactly what I need. I made some changes (I hope they make sense) and put the new layouts in KarateLayouts. I didn't want to delete the originals incase I broke something.

                                   Everything works just how I need it to, so thank you very much!  The last piece is using a barcode scanner to enter the attendance. 

                                   I looked over the forums and found a bunch of article and even a sample file with example scripts. I tried to implement them - but while I can get the scanner to open - I can't get it to do anything with the information.

                                   I know you posted on a previous question that you don't really do scanners - but if you or anyone else had an idea of why the script won't pull the data into the portal - I'd be really grateful if you could take a look.


                              • 13. Re: Help on taking attendance using FM Pro

                                     Hey Alexis,

                                     I just looked at your file and I don't really think any of those scripts can really work. There is way to much stuff that's missing or not working. (Like layouts that aren't present etc.)

                                     I think you should start with the simple basics.

                                     Ideally something like this should happen:

                                     You hit your scan button.
                                     Then your cursor goes into a field that wil accept the scanned data.
                                     You scan and the ID number of the scanned item is entered.
                                     This creates a new record in your portal that's related to this selected lesson.

                                     Voila. Sounds simple, now let's break it down:

                                     A scanner is simply something like a keyboard that's going to enter a number.

                                     This number is the ID of your student.

                                     You need to capture this ID, and when the ID is entered you need to do something with that entered id.

                                     How do you know when your ID has been entered completely?

                                     You need to set your scanner to add a tab or an enter at the end.
                                     Then your field wil be "committed" And you can then set a "script trigger" to the "OnObjectModify event of this field to do something with your scanned ID.

                                     I created a little sample in your file:


                                     You can test this without a scanner by simply manually entering a Pupil ID (1, 2 or 3) and hitting enter or tab.

                                     Then this pupil will be added and you are returned back to that scan field. This continues until you don't scan and leave the field empty. Then the cycle is broken.