Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

Keep track of Attendances

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Keep track of Attendances

    Imagine a typical class enrollment system where: Parent table is Course description (Math305, Fall 2009) and 2 child tables 1) Registrations that lists the names of the people registered for that course, 2) Sessions that lists the sessions (dates the course is given and room#).
    My main stumble block is how to keep track of attendances. The only (and not so great) way I can think of is have a table linked to Sessions and reenter the names of the people who attended that session and repeat the same process every sessions. Ideally it would be great If I could emulate a spreadsheet with the names of the registered people in a column down and sessions date/or nbr in column listed across. All the user has to do is tick the checkbox at the intersection of a name and a session. This way when you read a name horizontally you can quickly tell what sessions this student attended and what sessions he missed. Bu this would require to create a field for every session and for every course... not so great either. I would greatly appreciate suggestions.

  • #2
    Re: Keep track of Attendances

    It seems that you have created a one to many relationship. Many classes for each student. Many students however could attend many classes. You could create a transaction data base that would link the student table to the classes and students to attendance. You can create a Attendance table that joins to the student table. A simple format might just include a field to track attendance in the class. Create a form with the session and class date. Use a embedded browse in the form and link to that joins to the student. The students name will be in the browse like a spreadsheet. The alpha sports database provides sort of an example. Customers are linked to invoices. The invoice parts are part of a browse form linked to the invoice number and customer.

    Comment


    • #3
      Re: Keep track of Attendances

      Attached is a database I created which I hope does what you're looking to do. I created the main database from A5 samples - the Students and Classes database. Then I added "Sessions" and "Attendance" tables and added those tables to the set "classes to students".

      Then I modified the form "Classes and Student" adding a couple of browses to the Students tab.

      The first browse shows what Sessions are available for the current Class.
      The second browse shows the sessions the student attended.

      What you do is check off the sessions the student has attended and then click the "Update Attendances" button. If no attendance records exist for the student then they are created and then displayed in the 2nd new browse.
      The checkbox for Sessions attendance is then cleared and you can move on to the next student.

      You can do lots more with this... protect the Attendance Record browse - it should be read only... although once the records have been created for the student I suppose you could change them directly on this form if a change is required.

      There is a problem however and I'm hoping someone can have a look and see what I've done wrong.

      What I do is... for the Class_Id and Session_Id for that student - I delete the records and then re-create them - in case a change to an attended session is needed. But when I do this, the Attendance_Id key is not always created. Some Attendance_Id keys are blank. But the field is auto increment.

      I'm sure there are better ways to do this but this was my first crack at it.

      Comment


      • #4
        Re: Keep track of Attendances

        DavidK,

        WOW, I'm impressed with your SET design ! Thanks for sharing... I'm new to Alpha and I had NO idea such an elaborate SET could be created... I'm from the MS Access world and trying to find my way around Alpha which I very much enjoy at this point...

        Tim

        Comment


        • #5
          Re: Keep track of Attendances

          David, Thank you very much for sharing. I'll study your example and adapt it to my situation. If I come up with something worth posting I'll post it.

          Comment


          • #6
            Re: Keep track of Attendances

            The SET is Alpha's... I just added Sessions and Attendances. I come from the Access world too... I consider Sets to be like Access Queries but you only get one key to match on. Coming from Access there is a bit to get your head around but it is all there. The main database was created from Alpha's samples.

            Comment


            • #7
              Re: Keep track of Attendances

              Here's another problem I ran into with this database.

              In the code on the button "Update Attendaces" I loop through the records in the Sessions Browse. I thought I could use <Browse>.Records_Get() to get the count of those records... but the count kept returned the number of records in Classes. I tried putting the Sessions table into a couple of different places in the SET but no change.

              Is this right? A bug? My understanding of how this should work with a set? (probably)

              Comment


              • #8
                Re: Keep track of Attendances

                David,
                A bit off topic but you said
                you only get one key to match on
                . Are you referring to the set linkage? If so, you can use as many fields as you wish by concatenating them so long as the key length does not exceed 240. If not could you explain?
                Mike
                __________________________________________
                It is only when we forget all our learning that we begin to know.
                It's not what you look at that matters, it's what you see.
                Henry David Thoreau
                __________________________________________



                Comment


                • #9
                  Re: Keep track of Attendances

                  Mike! I didn't know that. I just had a look... do you do that with an Expression in the Parent key and Child key? Sorry for the bad information.

                  Comment


                  • #10
                    Re: Keep track of Attendances

                    FWIW:
                    Same as suggested above with minor changes:
                    PEOPLE----custid----=REGISTRATIONS=----semid-----SEMINARS----semid----=SESSIONS----sessid----=ABSCENCES
                    On the SEMINARS form I have 3 emb browses: 1)SESSIONS emb browse where I enter the session dates for each SEMINAR 2)REGISTRATIONS emb Browse where I enter names of people who signed up for a particular Seminar, 3)ABSCENCES emb Browse where I enter names of people who didn't show up at a session. With 150-180 attendees per session I figured it's easier to enter the names of those who missed (8 to 10 on average) than entering the names of those who showed up (160 to 170 on average).

                    Comment


                    • #11
                      Re: Keep track of Attendances

                      David,
                      do that with an Expression in the Parent key and Child key
                      Exactly. Say you have a "database" given you in which there were no way to directly link two tables with a unique field designed just for this purpose as we would do with an auto-increment field. But the two tables had the persons name and say another possible field that would also always be filled in like birth date (if a mandatory field from the original table). Use the expression choice and concatenate the two fields in both parent and child tables. Use of alltrim() and/or left() functions to limit the total number of characters (<=240). A specific example is many times in a Quickbooks table, the only consistent fields to bring over are the Label and Text fields. I have used Left(alltrim(Label),110) + Left(alltrim(Text),110) many times for a set linkage.
                      Mike
                      __________________________________________
                      It is only when we forget all our learning that we begin to know.
                      It's not what you look at that matters, it's what you see.
                      Henry David Thoreau
                      __________________________________________



                      Comment


                      • #12
                        Re: Keep track of Attendances

                        Very cool Mike... thanks for that... opens up much great possibilites. I keep thinking visually... like Access - you just draw the connections - got to get away from that a bit... and see what's in front of me... <expression>

                        Comment


                        • #13
                          Re: Keep track of Attendances

                          Hello, I'm new at Alpha 5V9. I searched the message board and found this thread regarding a Student Database. I've started off with the one provided with my software, adding a few new fields to mirror our registration forms. A couple of problems I've encountered or maybe it is my being new at Alpha 5 is the following:

                          1. I have the Student ID as an Auto Increment with it starting at 00001. This works great until I enter student #10 and instead of getting 00010 I get 90000 and the next record ID I get is 90001. Can anyone explain this on to me?

                          2. I've tried using the forms that are setup in the default database with my additions. In the Student View/Entry form, when I tab between fields (after adding my new fields to the form)the tab key takes the entry cursor to all the fields that were on the original form and then lastly does my added field regardless where they reside on the form. I know this is a stupid question, but how do I get the flow of the form to conform to the order I want it to.

                          3. In the same spot as talked about in #2 above. I have found that when I enter a students data and then click on the "Classes" tab on the form, it doesn't show me the available class that have been predefined in the classes set. What am I doing wrong.

                          I know there probably is some really simple explanations, but I'm having a hard time getting my head around Alpha 5 since I'm an old Access guy, not to mention old as well!! LOL

                          Thanks ahead of time to anyone who responds.

                          Ben

                          Comment


                          • #14
                            Re: Keep track of Attendances

                            Ben on your autoincrement question. Are you starting with 00001 or 1 in your database. The attached shows C which is a Character 6 field, N which is a Character 6 field and D which is just a dummy field. In C I typed 00001 and in N I started with just 1. Got the results you state.

                            Comment


                            • #15
                              Re: Keep track of Attendances

                              Bingo!! You solved that problem ... All I have to say is "Duh" I should have caught that one ... Thanks so very much ... One down and two to go. How about the one with getting things that have been added to an already existing form to track (tab from one to the other in the sequence I determine)?

                              Ben

                              Comment

                              Working...
                              X