By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
428,813 Members | 2,351 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 428,813 IT Pros & Developers. It's quick & easy.

Looking For More Efficient Data Entry

P: n/a
One of my duties is to record student grades each report period(6). The
tables in the database basically look like:
TblStudent
StudentID
Name
etc

TblStudentGrade
StudentGradeID
GradePeriod
StudentID
Grade

The way the tables are, I need to enter the student each grade period. The
students are essentially the same students each period so my thinking is I
should only need to add new students and drop students who have left the
class. If the form was in a grid or matrix, I could have the name in the
first column and successive grade periods in the next six columns. Is there
a way to do this?

Thanks!

Maria
Nov 13 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a

"Maria" <ml*******@csonline.net> wrote in message
news:2C*****************@newsread3.news.atl.earthl ink.net...
One of my duties is to record student grades each report period(6). The
tables in the database basically look like:
TblStudent
StudentID
Name
etc

TblStudentGrade
StudentGradeID
GradePeriod
StudentID
Grade

The way the tables are, I need to enter the student each grade period. The
students are essentially the same students each period so my thinking is I
should only need to add new students and drop students who have left the
class. If the form was in a grid or matrix, I could have the name in the
first column and successive grade periods in the next six columns. Is there a way to do this?


Sounds as if you might like a spreadsheet better.

There are "grid controls" for other programming languages, but none that can
be bound to Access data in an Access application, AFAIK.

Do you need to see all the students and all the grade periods on the same
form to enter a grade for the current period? Pivot tables or cross-tab
queries would let you, without much trouble, structure a report that way.
But seems to me you only need to step through all the students one by one to
enter the grade(s) for the current period.

A main form by student will allow you to add/delete students and navigate
from student to student, and a subform would let you enter the grade for
this period... if you want to see all the grades for that student, use a
continuous forms view in the subform.

Larry Linson
Microsoft Access MVP
Nov 13 '05 #2

P: n/a
"Maria" wrote
One of my duties is to record student grades each report period(6). The
tables in the database basically look like:
TblStudent
StudentID
Name
etc

TblStudentGrade
StudentGradeID
GradePeriod
StudentID
Grade

The way the tables are, I need to enter the
student each grade period. The students are
essentially the same students each period so
my thinking is I should only need to add new
students and drop students who have left the
class. If the form was in a grid or matrix, I could
have the name in the first column and successive
grade periods in the next six columns. Is there
a way to do this?


First, there's nothing about your table design that forces you to "enter the
student each grade period" -- you didn't describe whether you are entering
data in datasheet view, or in a form, but see below.

Sounds as if you might like a spreadsheet better.

There are "grid controls" for other programming languages, but none that can
be bound to Access data in an Access application, AFAIK.

Do you need to see all the students and all the grade periods on the same
form to enter a grade for the current period? Pivot tables or cross-tab
queries would let you, without much trouble, structure a report that way.
But seems to me you only need to step through all the students one by one to
enter the grade(s) for the current period.

A main form by student will allow you to add/delete students and navigate
from student to student, and a subform would let you enter the grade for
this period... if you want to see all the grades for that student, use a
continuous forms view in the subform.

Larry Linson
Microsoft Access MVP

Nov 13 '05 #3

P: n/a
Maria wrote:
One of my duties is to record student grades each report period(6).
The tables in the database basically look like:
TblStudent
StudentID
Name
etc

TblStudentGrade
StudentGradeID
GradePeriod
StudentID
Grade

The way the tables are, I need to enter the student each grade
period. The students are essentially the same students each period so
my thinking is I should only need to add new students and drop
students who have left the class. If the form was in a grid or
matrix, I could have the name in the first column and successive
grade periods in the next six columns. Is there a way to do this?

I've done this in code.
I create a "flat file" table where the data is entered and use an update
event to add/edit/delete the relational tables that were used for reporting.

The client demanded it because their atterndance record "always" looked like
that. Mostly a lot of busy work but there was some fun in it and I got paid
a lot more.

You would be better off with a form/subform showing the students in a
listbox on the main form and linking the subform to that student.
Nov 13 '05 #4

P: n/a
Your table structure is correct -- it may be tempting to make a table
with six fields for the six periods per student, but your method
offers the best flexibility over the long term. However (as you have
discovered), data entry is made more difficult using this "normalized"
structure.

I think that you have two alternatives:
- use a temporary table for data input with six columns for the six
periods, and write some VBA code to transfer from the temporary table
to the permanent (existing) table at some point in time.
Alternatively, you could enter the six grades into unbound textboxes
on the main form, and transfer them to the table using VBA code.

- modify your data-entry procedure. Instead of trying to enter all
periods for a single student, try entering all the students for a
single period. You could build a form/subform in which the period was
selected in the main form, and the subform would show all the
students' grades for that period. You could populate the table with
blank records for each student for the selected period so that you
would not have to manually create each student's record for that
period. This could be done with VBA on a command button, or when you
select the period (say, from a combo box), or when the subform gets
focus.
On Sun, 05 Sep 2004 02:12:14 GMT, "Maria" <ml*******@csonline.net>
wrote:
One of my duties is to record student grades each report period(6). The
tables in the database basically look like:
TblStudent
StudentID
Name
etc

TblStudentGrade
StudentGradeID
GradePeriod
StudentID
Grade

The way the tables are, I need to enter the student each grade period. The
students are essentially the same students each period so my thinking is I
should only need to add new students and drop students who have left the
class. If the form was in a grid or matrix, I could have the name in the
first column and successive grade periods in the next six columns. Is there
a way to do this?

Thanks!

Maria

**********************
ja**************@telusTELUS.net
remove uppercase letters for true email
http://www.geocities.com/jacksonmacd/ for info on MS Access security
Nov 13 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.