DEV Community

Cover image for Students and Grades in Microsoft Access
Richard Rost
Richard Rost

Posted on

Students and Grades in Microsoft Access

Today's TechHelp tutorial from Access Learning Zone addresses a frequently asked question: how to store students and their grades in a Microsoft Access database and present this data in a spreadsheet-like format using a cross-tab query. This query came from Candace in Beiberton, Oregon, who is transitioning from Excel to Access for managing student grades. Candace, and many others, have been accustomed to the Excel format with students as rows and assignments as columns.

The big difference between Excel and Access lies in data storage. In a relational database like Access, data isn't stored in a flat format. Instead, you use tables, each representing different entities. For student grade management, this means you need to set up multiple tables. I'll guide you through this process and show how to create a cross-tab query for displaying data in a familiar format.

This tutorial is at an expert level. Though advanced, you don't need programming knowledge. Knowing terms like many-to-many relationships, junction tables, subforms, and relational combo boxes will be helpful. I recommend watching my other free videos for a detailed explanation of these concepts.

In moving data from Excel to Access, you need three tables: one for students, one for assignments, and a junction table to link them. Here's how to set it up:

  1. Create a Student table for storing student information such as student ID, name, and other details.
  2. Create an Assignment table to store details about quizzes, tests, projects, etc.
  3. Create a junction table, StudentAssignment, to link students and assignments and store their grades.

To illustrate, let's set up the database. We'll use the TechHelp free template, available for download on my website. We start from scratch but sometimes use pre-set templates for ease.

First, create the Student table:

  • Go to Create, then Table Design, and set up the table with fields like student ID and student name. Save it as the Student table.
  • Populate the table with sample data by copying from an existing Excel list.

Next, create the Assignment table:

  • Similar to the Student table, use Create and Table Design. Add fields like assignment ID and assignment name. Save it as the Assignment table.
  • You can transpose a horizontal list from Excel to vertical if needed and copy it into Access.

Now, create the StudentAssignment table:

  • Again, use Table Design for creating fields like student assignment ID, student ID, assignment ID, and grade. Save this table.

Entering data in Access can be more complex than Excel, but sample data helps in building the database. You'll link students and assignments through the junction table, and grades will be stored there.

Next, we create a data entry form with a main form for student information and a subform listing assignments and grades. We will also make a reverse form where the assignment is the main form with a list of students.

For the main student form:

  • Copy a blank single form from your template and bind it to the Student table. Set the form properties accordingly.

For the subform:

  • This will be a continuous form bound to the StudentAssignment table. It lists each student's grades for assignments. Remove unnecessary fields and set up the combo boxes to display names instead of IDs.

Finally, to avoid displaying raw IDs, use combo boxes for user-friendly data entry. I'll show how to create these combo boxes and bind them to the appropriate fields.

This completes today's tutorial. For a detailed, step-by-step guide, visit my website. Until then, live long and prosper, my friends.

For a complete video tutorial on this topic, please visit https://599cd.com/StudentsGrades?key=Dev.To

Top comments (0)