5 Replies Latest reply on Sep 10, 2013 2:14 PM by philmodjunk

    Track classroom attendance



      Track classroom attendance


           I am having trouble figuring out the best way to track student attendance.  In theory, attendance will be taken daily, but could be edited at a later date if the reason was excusable.  I have a table of students, and was planning to have another table that just tracked days absent.  In it are 4 fields (AbsentID, StudentID, AbsentDate, AbsentFlag).  Here are my questions and issues:

           1) My class is presented in a portal by grade that pulls from the Student table.  I have a checkbox for the AbsentFlag field, however when I check it for one student, it checks all of the boxes for the whole class.  My table shows one entry, that is always for the student with the lowest StudentID.  Please explain that behavior.

           2) I'd like to have a global date field outside the portal which I could change to see who was absent on a particular day, and as I said, possibly change or add an absentee entry, either to correct an error or to excuse an absentee entry.  I don't see how I am going to make that work.  Any thoughts or tips would be appreciated.


        • 1. Re: Track classroom attendance

               1) I can only guess that your relationship is not correctly set up to record this data.

               2) You'll need to figure out 1 first, but you can use a global field as a match field in a relationship and you can also use it in a portal filter. But it looks like you need to work out the correct tables and relationships before you look into this.

               I'd take a stab at the needed tables and relationships for you, but it depends on how your school operates. You may have just one class all day or you may have a different class each period and the same student may attend more than one class from you if you teach more than one subject. Those details make a big difference in how you need to structure your system to record attendance.

          • 2. Re: Track classroom attendance

                 Thanks.  I don't know what I have wrong relationally.  My tables are linked by studentID, and there is only one entry in the table for that student, but all the classmates checkboxes are checked too.  I just thought I was missing something simple.

                 For your second question, this is an elementary school, so the table only has a date field and the absent flag, other than the tableID and studentID fields.  So that's what I'm interested in for now, but I would like to know how to add the added dimension of tracking different class attendance over the course of the day as well.

            • 3. Re: Track classroom attendance

                   Perhaps the field is not defined in the correct table?


                        My tables are linked by studentID, this is an elementary school.

                   I am guessing that you teach in the United States. Please keep in mind that people post questions here from all around the world and educational systems vary from country to country.

                   My experience with elementary school would then suggest that you are taking roll once a day for a class of students that stay with you the entire day. Is that correct?

                   If so, then you may have this relationship:


                   Students::__pkStudentID = Attendance::__fkStudentID

                   But, without additional work, that will only allow you to take attendance once per student, not once per student per day.

                   You need a list of students with a field next to each name where you can record their attendance for a given day.

                   You can modify the above relationship to be:

                   Students::__pkStudentID = Attendance::__fkStudentID AND
                   Students::gDate = Attendance::Date

                   gDate can be a date field with global storage specified so that you can enter/select a date once for the entire class. "Allow creation of records via this relationship" should be specified for Attendance in this relationship.

                   You can then set up a list view layout based on students and place an attendance field from Attendance on this layout next to the student name.

                   You can then select a date in gDate to see/edit the attendance data for that date on this layout.

                   Note: this is the "basic beginner level" approach. Using filtered portals, you can actually set up columns of attendance fields from the attendance table so that you can see attendance for multiple days all at the same time--which can make clearing excused absences simpler.

              • 4. Re: Track classroom attendance

                     This worked fine for a list view.  Thanks.  My original attempt was with a portal view.  And yes, I didn't include the date join originally.  However, after making that adjustment, my portal view still shows all students checked after checking only one box.

                     I am also intrigued by your description of beging able to see attendance for multiple days simultaneously.  Can you explalin further please?

                • 5. Re: Track classroom attendance

                       If all students are checked in after clicking one box, your layout is not designed correctly. This must be a field from Attendance, not a field defined in Students. And it cannot have global storage specified.