473,466 Members | 1,381 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

Adding Option Group for Multiple Students in Attendance Sheet

2 New Member
Hello All,

I am new to the board and could use some help. At work, I've been asked to create an attendance db. So below is what I created. It allows the Administrator to check off the "Present" box for each student. I have been asked to expand on the idea.

Table: Students
StudentID
StudentName
Present
Note

Table: Attendance
AttendanceID
StudentID
AttendanceDate
Present

Run an append query.

Change Requested:
For each student Replace "Present" with "1" and ".5",
1 = Full Credit .5 = Half Credit = 1/2 absence.


After 3 Absences EX:(.5,.5,.5,.5,.5,.5)=3, OR neither box selected, the students row turns red to indicate the max # of days absent has been reached.

How do I do this in Access?? I tried creating an option group but it didn't work correctly, I was able to select both options. I tried again and when I selected an option it was selected for all students. Can someone please help me through this???

Additional Detail: There are 4 new classes per year, each with a different set of students.

Thanks in Advance.
Nov 25 '13 #1
3 1438
zmbd
5,501 Recognized Expert Moderator Expert
CherriO:
Version of Access?
Operating System?
How experienced are you with DB Design?
How experienced are you with VBA?

What you are asking for is doable, just need to understand how much you understand (^_^)
Nov 25 '13 #2
CherriO
2 New Member
Hi Zmbd,

Thank you so very much for responding.

I am using Access 2013
Windows 7 Pro 32 bit
I am about at an intermediate level with db design. I understand building tables and relationships, forms.
VBA not very experienced.
Nov 25 '13 #3
zmbd
5,501 Recognized Expert Moderator Expert
Good Morning - well at least here (^_^)
For some reason last nite I couldn't log into the site from home. It's happended a few times before and usually I just use one of the public DNS and things work again... not last nite.

In anycase, reading thru your posts, at first glance I beleave the following would work for you:

tbl_courses : Has the course title, code, etc related to classses

tbl_classes : Has the course (tbl_courses), room, instructor (tbl_people), year, quarter/semester

tbl_people : Has the people type information. Also classification as student or instructor.

tbl_enrollment : Has the Class (tbl_classes), Student (tbl_people)

tbl_attendance : enrolled (tbl_enrollment), date, attendance

Basically, by using tbl_attendance, group on the enrolled field, and count the attendance field where attendance < 1.

By way of two example tables:

tbl_classes:
[classes_pk] autonumber
[classes_fk_courses] numeric(long) 1:M tbl_courses
[classes_fk_people] numeric(long) 1:M tbl_people
[classes_room] text(10) (could also be split out into new table)
[classes_schoolyear] numeric(long)
[classes_Schoolperiod] numeric(long)

tbl_attendance:
[attendance_pk] autonumber
[attendance_fk_enrollment] numeric(long) 1:M tbl_enrollment
[attendance_date] date
[attendance_score] numeric(single) - shouldn't need anything larger than a single numeric type wih 0.5 and 1 as values; however, if for some reason you start getting errors, then change to double.

So what I would do for a given year (say this school year in the USA would be 2013/2014 the graduating class is 2014 and my child's school has fall (2013) and Spring semesters. So for the Fall-2014 attendance:

tbl_classes: query for: [classes_schoolyear]=2014 and [classes_Schoolperiod] = 1

Join with tbl_enrollment on the related field and return only those records with a match.

Join this with tbl_attendance and return only those records that match

Group this returned recordset on the [attendance_fk_enrollment] field and count only those records where the [attendance_score] <= 0.5. If the count is greater than 6 you're student has exceeded the count.
This recordset would be for EVERY student for the given year and period for every class enrolled in for that time period.

However, if you wanted only for say my DD, then you would
tbl_classes: query for: [classes_schoolyear]=2014 and [classes_Schoolperiod] = 1
Join with tbl_enrollment on the related field and return only those records with a match and further refine so that [enrolment_fk_people] = (people_pk for my DD) (now you only have the enrollment for my DD for the current year and period)
Join this with tbl_attendance and return only those records that match
Group and count as for last time.

Why not do the first way and filter down... the number of records returned in each step and if on a slow network or a large datbase, the fewer records returned the better for performance and lessor chance of altering something by mistake.

I think that you can see how querying out the class would work and so forth.

You can ofcourse add other tables to hold the point list (which is what I would do) for your attendance score etc...

Anyway, this is just one approach, I could normalize the tables a little further for example: for the classes, I could take the year and period and break those two fields out into a new table and then relate that table back to the tbl_classes, it would add another join to the query; however, the information is numeric and I don't see much payback.
Nov 26 '13 #4

Sign in to post your reply or Sign up for a free account.

Similar topics

10
by: David | last post by:
Can anyone give me a quick code snippet (that is standards-based) for adding OPTION tags to a SELECT dynamically. I have no problem doing it in IE but I am kind of new to the whole standards world...
5
by: Georges Heinesch | last post by:
Hi. I created an option group using the wizard. I included 3 option buttons. An option group (in general) can be enabled or disabled completely (includung option buttons and their respective...
2
by: Corrine | last post by:
Is there a way to cancel a change in an option group? The option group still changes to the option clicked on when clicking on the NO button with the following code in the BeforeUpdate event of the...
2
by: Charles | last post by:
Ok, so I'm creating a form on the fly. I can create the option group, I can create the checkboxes, but I can't figure out how to bind them to the option group I'm creating them within. I was...
11
by: MLH | last post by:
Why is that? If I choose the tiny check boxes which are hard to hit with a mouse, it works fine. But option buttions, shich can be sized big enough for people with limited sight and dexterity...
5
by: tsnyder | last post by:
I need to have an option button that allows editing to a field only when it is checked.
0
by: Walks | last post by:
This is my first project so I am very new to Access, Programing and so on. My project. I have a Data Access Page that has a spreadsheet attached and a Combobox. When I change the value in...
2
by: weston | last post by:
I have a form that has multiple option groups on it. When I created the form I copied the option groups and then changed the data source for them. But there now doesn't seem to be a caption for any...
13
by: Eric IsWhoIAm | last post by:
I have four tables created so far: Courses, Instructors, Courses and Instructors (which shows the Course and Instructor Name fields, but holds their IDs since those are the keys), and Students....
32
LeighW
by: LeighW | last post by:
Hi, I'm still having a couple problems with searches. I have a search form, frm_Search. The form I am trying to filter, frm_Form1 An unbound combobox on frm_Search, Cbo_Permit 6 different...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
1
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.