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

Student Evaluation Report

P: n/a
Greetings,
I have a database that keeps track of students grades (and lots of
other info)for a non-profit training center. I have created an access
database to track all of the student's information and want to use the
information to print certificates for the students.

Basically, I have a report in which I calculate the student's final
grade
from the individual tests. I want to create a field called
StudentEvaluation
that converts the number grade into an Evaluative grade... ie, 93-100
=
Excellent, 85-92 = Good, etc.

I am certain this is relatively easy to do in VB, but I am not
experienced
in programming and have not figured out a way to do it from the Access
interface. Any help would be appreciated.
Nov 13 '05 #1
Share this Question
Share on Google+
8 Replies


P: n/a
ChrisMac wrote:
Basically, I have a report in which I calculate the student's final
grade
from the individual tests. I want to create a field called
StudentEvaluation
that converts the number grade into an Evaluative grade... ie, 93-100
=
Excellent, 85-92 = Good, etc.

Air code follows. Note that you should actually define the hard-coded
numbers (that I made up) as constants somewhere. That way, if you use
them in other places and they change, you only have to change them in 1
place.

function GetGradeDescription (intNumericGrade as Integer) as String

GetGradeDescription = "Failing"
if intNumericGrade >= 69 and intNumericGrade < 77 then
GetGradeDescription = "Poor"
end if
if intNumericGrade >= 77 and intNumericGrade < 85 then
GetGradeDescription = "Average"
end if
if intNumericGrade >= 85 and intNumericGrade < 93 then
GetGradeDescription = "Good"
end if
if intNumericGrade >= 93 then
GetGradeDescription = "Excellent"
end if
end function

Nov 13 '05 #2

P: n/a
"ChrisMac" <ch***@servicepartners.org> wrote in message
news:75**************************@posting.google.c om...
Greetings,
I have a database that keeps track of students grades (and lots of
other info)for a non-profit training center. I have created an access
database to track all of the student's information and want to use the
information to print certificates for the students.

Basically, I have a report in which I calculate the student's final
grade
from the individual tests. I want to create a field called
StudentEvaluation
that converts the number grade into an Evaluative grade... ie, 93-100
=
Excellent, 85-92 = Good, etc.

I am certain this is relatively easy to do in VB, but I am not
experienced
in programming and have not figured out a way to do it from the Access
interface. Any help would be appreciated.

Create a table of evaluative grades something like

create table evalGrades
(
evalGrade varchar(25) not null
constraint UK_evalGrades_evalGrade unique,
gradeFrom int not null,
gradeTo int not null,
constraint PK_evalGrade_gradeFrom_gradeTo
primary key (gradeFrom, gradeTo)
)

Fill the table with the evaluative grade text and grade ranges for each.
Then join to this table in your query.


Nov 13 '05 #3

P: n/a
if finalgrade >= 93
studentevaluation = "Excellent"
elseif finalgrade >=85 AND finalgrade < 93
studentevaluation = "Good"
elseif finalgrade etcetera!
End if

ch***@servicepartners.org (ChrisMac) wrote in message news:<75**************************@posting.google. com>...
Greetings,
I have a database that keeps track of students grades (and lots of
other info)for a non-profit training center. I have created an access
database to track all of the student's information and want to use the
information to print certificates for the students.

Basically, I have a report in which I calculate the student's final
grade
from the individual tests. I want to create a field called
StudentEvaluation
that converts the number grade into an Evaluative grade... ie, 93-100
=
Excellent, 85-92 = Good, etc.

I am certain this is relatively easy to do in VB, but I am not
experienced
in programming and have not figured out a way to do it from the Access
interface. Any help would be appreciated.

Nov 13 '05 #4

P: n/a
ChrisMac,
SQL does it best.
First, "CREATE TABLE GRADE_SCALE_TBL (ID LONG PRIMARY KEY, GRADE_NAME
TEXT(50), GRADE_LOW SINGLE, GRADE_HIGH SINGLE);"
Then, "SELECT GRADE_SCALE_TBL.GRADE_NAME, STUDENT_ASSIGNMENT_TBL.GRADE FROM
GRADE_SCALE_TBL, STUDENT_ASSIGNMENT_TBL WHERE STUDENT_ASSIGNMENT_TBL.GRADE
= GRADE_SCALE_TBL.GRADE_LOW AND STUDENT_ASSIGNMENT_TBL.GRADE <= GRADE_SCALE_TBL.GRADE_HIGH);"
No VBA and the grade scale can be changed as needed.

"ChrisMac" <ch***@servicepartners.org> wrote in message
news:75**************************@posting.google.c om... Greetings,
I have a database that keeps track of students grades (and lots of
other info)for a non-profit training center. I have created an access
database to track all of the student's information and want to use the
information to print certificates for the students.

Basically, I have a report in which I calculate the student's final
grade
from the individual tests. I want to create a field called
StudentEvaluation
that converts the number grade into an Evaluative grade... ie, 93-100
=
Excellent, 85-92 = Good, etc.

I am certain this is relatively easy to do in VB, but I am not
experienced
in programming and have not figured out a way to do it from the Access
interface. Any help would be appreciated.

Nov 13 '05 #5

P: n/a
Calculated fields aren't usually stored in the tables. Instead,
calculate the StudentEvaluation when generating the report.

ch***@servicepartners.org (ChrisMac) wrote in message news:<75**************************@posting.google. com>...
Greetings,
I have a database that keeps track of students grades (and lots of
other info)for a non-profit training center. I have created an access
database to track all of the student's information and want to use the
information to print certificates for the students.

Basically, I have a report in which I calculate the student's final
grade
from the individual tests. I want to create a field called
StudentEvaluation
that converts the number grade into an Evaluative grade... ie, 93-100
=
Excellent, 85-92 = Good, etc.

I am certain this is relatively easy to do in VB, but I am not
experienced
in programming and have not figured out a way to do it from the Access
interface. Any help would be appreciated.

Nov 13 '05 #6

P: n/a
User_5701,
True, in relational databases. In datawarehouses, which any grading system
should be, you need the calculated result to ensure you accurately capture
the history of a student's progress. Your fact table has as its grain of
fact the section, the student, the assignment, the grade, any grade
adjustments and in some cases, the type of assignment to account for grades
that are weighted by assignment type.
A relational database that regenerated historic grading data whenever the
report was re-run risks calling in to question the credibility of the data
if a grade ever changes from that which was issued at the end of the term.
What lovely havoc would ensue if every student could challenge their grade
because only current grades existed without a valid audit trail in the form
of reliable historic data.

"user_5701" <us*******@hotmail.com> wrote in message
news:f1**************************@posting.google.c om...
Calculated fields aren't usually stored in the tables. Instead,
calculate the StudentEvaluation when generating the report.

Nov 13 '05 #7

P: n/a
I'm not very clear on what you said below - perhaps you can explain it
a little better. I don't see how a calculated value could ever change
- the grades aren't going to change unless they retake a test or
assignment, in which case either the original grade would be changed
in the database or another assignment with that grade would be added
into the database. The formula never changes either - add up all the
grades a student received, divide by total points possible, add in
extra credit, add or subtract the adjustments if there are any, and
that is the calculated grade. If a grade were changed, then yes, the
calculated grade would change, but then so would the grade stored in
the database (or it would just be wrong then). one plus one always
equals two...

"Alan Webb" <kn*****@hotmail.com> wrote in message news:<vf********************@comcast.com>...
User_5701,
True, in relational databases. In datawarehouses, which any grading system
should be, you need the calculated result to ensure you accurately capture
the history of a student's progress. Your fact table has as its grain of
fact the section, the student, the assignment, the grade, any grade
adjustments and in some cases, the type of assignment to account for grades
that are weighted by assignment type.
A relational database that regenerated historic grading data whenever the
report was re-run risks calling in to question the credibility of the data
if a grade ever changes from that which was issued at the end of the term.
What lovely havoc would ensue if every student could challenge their grade
because only current grades existed without a valid audit trail in the form
of reliable historic data.

"user_5701" <us*******@hotmail.com> wrote in message
news:f1**************************@posting.google.c om...
Calculated fields aren't usually stored in the tables. Instead,
calculate the StudentEvaluation when generating the report.

Nov 13 '05 #8

P: n/a
user_5701,
So many, many dba's said some years ago before the rise of data warehouses.
Transaction/relational databases typically are only a snapshot of the
current state of the data. As new data arrives and the old data is modified
the results of any calculated values change and reflect a new state of the
data. This is great as long as you don't need to know how the data has
changed over time. Where star schemas and data warehouses come in to play
is when it becomes necessary to know and accurately remember each change to
the data over time. The other reason to store calculated results is
performance. It is *much* faster for an rdbms to retreive a stored value
than it is for the rdbms to recalculate a value based on a formula. The
argument over relational vs. star schemas & data ware houses is an old one
worth poking about for in newsgroups and Google. I've done both and
considered relational designs in my own grading database but ended up
building a star schema because it provided a better audit trail when a
student challenged a grade.

"user_5701" <us*******@hotmail.com> wrote in message
news:f1**************************@posting.google.c om...
I'm not very clear on what you said below - perhaps you can explain it
a little better.

Nov 13 '05 #9

This discussion thread is closed

Replies have been disabled for this discussion.