Setting up tables for grades

I do not understand why I am not understanding this, but I am trying to set 
up a form for inputing student grades.  There are 13 classes that I need to 
track grades for (currently) as well as a composite grade.  I have a table 
(tblStudents) with the student information (including [StudentID]), a table 
(tblCourses) with course names(two fields, one [CourseID], the other 
[Course]), and a table (tblCourseGrades) to keep track of the grades 
([GradeID], [StudentID], [CourseID], [Grade]).  I'm thinking I'm 
understanding relational design and I have the table set-up correct, but 
designing the form for inputing the grades I'm just not getting for some 
reason or another.  I have a combo box that selects the student, and then a 
subform (datasheet view) with tblCourseGrades as its source.  This is not 
working.  The subform only shows one blank row.  Any help to straighten out 
my understanding would be appreciated.  I've tried reading various tutorials 
on relational design and normalizing, but there is something that I'm just 
not getting.  Thanks in advance.
0
Utf
4/23/2010 12:25:01 PM
access.forms 6864 articles. 2 followers. Follow

18 Replies
873 Views

Similar Articles

[PageSpeed] 39

Gntlhnds -

Have you assigned the students to the courses?   That is, have you populated 
the tblCourseGrades table with all the combinations of studentID and CourseID 
that make sense?   I don't know if this is like an elementary school where 
all students in each grade (say 3rd grade) take the same courses (reading, 
writing, and arithmetic), or like in college where every student may have a 
unique combination of courses.  

I don't see the concept of class versus course - this would be the 
difference between the course (English 101) and the classes (English 101 
taught MWF in Room 12 at 9:00 versus English 101 taught MWF in Room 23 at 
10:00, including which semester or quarter they are taught).  You didn't 
provide details on your requirements, so I don't know if that needs to happen.

In any case, a student must be assigned to a class before they can get a 
grade in the class.  If you need more help, please provide more information...

-- 
Daryl S


"Gntlhnds" wrote:

> I do not understand why I am not understanding this, but I am trying to set 
> up a form for inputing student grades.  There are 13 classes that I need to 
> track grades for (currently) as well as a composite grade.  I have a table 
> (tblStudents) with the student information (including [StudentID]), a table 
> (tblCourses) with course names(two fields, one [CourseID], the other 
> [Course]), and a table (tblCourseGrades) to keep track of the grades 
> ([GradeID], [StudentID], [CourseID], [Grade]).  I'm thinking I'm 
> understanding relational design and I have the table set-up correct, but 
> designing the form for inputing the grades I'm just not getting for some 
> reason or another.  I have a combo box that selects the student, and then a 
> subform (datasheet view) with tblCourseGrades as its source.  This is not 
> working.  The subform only shows one blank row.  Any help to straighten out 
> my understanding would be appreciated.  I've tried reading various tutorials 
> on relational design and normalizing, but there is something that I'm just 
> not getting.  Thanks in advance.
0
Utf
4/23/2010 2:04:01 PM
Thanks for the response.  The best way to describe my situation would be like 
an elementary school, where each class takes the same courses at the same 
time.  And, no, my tblCourseGrades is not populated with the courses and 
students.  I'm assuming I would use a query to do this, but how would I work 
that?  I have classes starting about every two weeks or so, and each class 
takes the same courses, so I would need to frequently update that table.  I 
hope this is enough information.  Thanks.
0
Utf
4/23/2010 2:48:01 PM
>>I have a combo box that selects the student, and then a subform (datasheet 
view) with tblCourseGrades as its source. 
 I would use a form to select [Class] and [CourseID].  If records did not 
exist then run an append query to create the records.  When exist display in 
subform for grade entry using listbox.  Include in choices something to 
indicate missed evaluation.

tblStudents –
[StudentID]
[FName] -
[LName] -
[Class] -
 
tblCourses -–
[CourseID] - 
[Course] – 

tblCourseGrades –
[GradeID] – 
[StudentID] – 
[CourseID] – 
[Grade] – 
[Comment] -


-- 
Build a little, test a little.


"Gntlhnds" wrote:

> I do not understand why I am not understanding this, but I am trying to set 
> up a form for inputing student grades.  There are 13 classes that I need to 
> track grades for (currently) as well as a composite grade.  I have a table 
> (tblStudents) with the student information (including [StudentID]), a table 
> (tblCourses) with course names(two fields, one [CourseID], the other 
> [Course]), and a table (tblCourseGrades) to keep track of the grades 
> ([GradeID], [StudentID], [CourseID], [Grade]).  I'm thinking I'm 
> understanding relational design and I have the table set-up correct, but 
> designing the form for inputing the grades I'm just not getting for some 
> reason or another.  I have a combo box that selects the student, and then a 
> subform (datasheet view) with tblCourseGrades as its source.  This is not 
> working.  The subform only shows one blank row.  Any help to straighten out 
> my understanding would be appreciated.  I've tried reading various tutorials 
> on relational design and normalizing, but there is something that I'm just 
> not getting.  Thanks in advance.
0
Utf
4/23/2010 3:05:01 PM
On Fri, 23 Apr 2010 07:48:01 -0700, Gntlhnds
<Gntlhnds@discussions.microsoft.com> wrote:

>Thanks for the response.  The best way to describe my situation would be like 
>an elementary school, where each class takes the same courses at the same 
>time.  And, no, my tblCourseGrades is not populated with the courses and 
>students.  I'm assuming I would use a query to do this, but how would I work 
>that?  I have classes starting about every two weeks or so, and each class 
>takes the same courses, so I would need to frequently update that table.  I 
>hope this is enough information.  Thanks.

A Query probably will be involved, but you would (I would guess!) need to pick
somebody's brain for the information that Alisia Gonzalez is assigned to the
Management Development class starting May 3. Normally one would do this using
a form and subform arrangement; this could be done in two ways - you could
have a form based on the table of students with a subform based on what I'd
call the "class enrollment" table, allowing you to pick whichever classes this
student needs. Alternatively (or in addition) you could have a form based on
the class table, with a subform allowing you to pick students from a combo box
to enter them into the enrollment table.
-- 

             John W. Vinson [MVP]
0
John
4/23/2010 3:57:27 PM
This is what I am trying to do.  I have a form whose source is tblStudents 
with a combo box that selects the student.  I then have a subform whose 
source is tblCourseGrades as a datasheet.  I have two field, Course and 
Grade.  Course is a combo box with tblCourses as it's source to select the 
Course.  This is not working for me, though.  Becasue tblCourseGrade does not 
have a Course field, I have to have the combo box unbound, which does not 
work.  If anyone has any idea as to how I should properly setup this subform, 
I would greatly appreciate it.  Thanks.

"John W. Vinson" wrote:

> On Fri, 23 Apr 2010 07:48:01 -0700, Gntlhnds
> <Gntlhnds@discussions.microsoft.com> wrote:
> 
> >Thanks for the response.  The best way to describe my situation would be like 
> >an elementary school, where each class takes the same courses at the same 
> >time.  And, no, my tblCourseGrades is not populated with the courses and 
> >students.  I'm assuming I would use a query to do this, but how would I work 
> >that?  I have classes starting about every two weeks or so, and each class 
> >takes the same courses, so I would need to frequently update that table.  I 
> >hope this is enough information.  Thanks.
> 
> A Query probably will be involved, but you would (I would guess!) need to pick
> somebody's brain for the information that Alisia Gonzalez is assigned to the
> Management Development class starting May 3. Normally one would do this using
> a form and subform arrangement; this could be done in two ways - you could
> have a form based on the table of students with a subform based on what I'd
> call the "class enrollment" table, allowing you to pick whichever classes this
> student needs. Alternatively (or in addition) you could have a form based on
> the class table, with a subform allowing you to pick students from a combo box
> to enter them into the enrollment table.
> -- 
> 
>              John W. Vinson [MVP]
> .
> 
0
Utf
4/23/2010 4:51:01 PM
Really what I would like is to have the subform list all of the courses with 
the ability to add the grade once the student completes the course, then I 
can create reports to output the grades either by student or class, including 
a composite grade.

"Gntlhnds" wrote:

> This is what I am trying to do.  I have a form whose source is tblStudents 
> with a combo box that selects the student.  I then have a subform whose 
> source is tblCourseGrades as a datasheet.  I have two field, Course and 
> Grade.  Course is a combo box with tblCourses as it's source to select the 
> Course.  This is not working for me, though.  Becasue tblCourseGrade does not 
> have a Course field, I have to have the combo box unbound, which does not 
> work.  If anyone has any idea as to how I should properly setup this subform, 
> I would greatly appreciate it.  Thanks.
> 
> "John W. Vinson" wrote:
> 
> > On Fri, 23 Apr 2010 07:48:01 -0700, Gntlhnds
> > <Gntlhnds@discussions.microsoft.com> wrote:
> > 
> > >Thanks for the response.  The best way to describe my situation would be like 
> > >an elementary school, where each class takes the same courses at the same 
> > >time.  And, no, my tblCourseGrades is not populated with the courses and 
> > >students.  I'm assuming I would use a query to do this, but how would I work 
> > >that?  I have classes starting about every two weeks or so, and each class 
> > >takes the same courses, so I would need to frequently update that table.  I 
> > >hope this is enough information.  Thanks.
> > 
> > A Query probably will be involved, but you would (I would guess!) need to pick
> > somebody's brain for the information that Alisia Gonzalez is assigned to the
> > Management Development class starting May 3. Normally one would do this using
> > a form and subform arrangement; this could be done in two ways - you could
> > have a form based on the table of students with a subform based on what I'd
> > call the "class enrollment" table, allowing you to pick whichever classes this
> > student needs. Alternatively (or in addition) you could have a form based on
> > the class table, with a subform allowing you to pick students from a combo box
> > to enter them into the enrollment table.
> > -- 
> > 
> >              John W. Vinson [MVP]
> > .
> > 
0
Utf
4/23/2010 4:55:01 PM
On Fri, 23 Apr 2010 09:51:01 -0700, Gntlhnds
<Gntlhnds@discussions.microsoft.com> wrote:

>This is what I am trying to do.  I have a form whose source is tblStudents 
>with a combo box that selects the student.  I then have a subform whose 
>source is tblCourseGrades as a datasheet.  I have two field, Course and 
>Grade.  Course is a combo box with tblCourses as it's source to select the 
>Course.  This is not working for me, though.  Becasue tblCourseGrade does not 
>have a Course field, I have to have the combo box unbound, which does not 
>work.  If anyone has any idea as to how I should properly setup this subform, 
>I would greatly appreciate it.  Thanks.

Well... if you want to record the course grade for a student, you must - no
option, no choice - record SOMEWHERE what course the grade is for!!! Why
doesn't tblCourseGrade have a Course field? What is its structure?

The problem isn't your form. It's your table.
-- 

             John W. Vinson [MVP]
0
John
4/23/2010 5:03:10 PM
On Fri, 23 Apr 2010 09:55:01 -0700, Gntlhnds
<Gntlhnds@discussions.microsoft.com> wrote:

>Really what I would like is to have the subform list all of the courses with 
>the ability to add the grade once the student completes the course, then I 
>can create reports to output the grades either by student or class, including 
>a composite grade.

Don't confuse data *DISPLAY* - a subform - with data *STORAGE* - a table.

Data is NOT stored in forms. It's stored in tables, and only in tables. You
can display multiple courses on the form if you like, but it sounds like
you're assuming that the grade is being put into the form. It's not; you're
using the form as a tool to put the grade (and the student ID and the course)
into a Table. You can then use queries and reports to pull the data back out
of that table in any form or combination you like.
-- 

             John W. Vinson [MVP]
0
John
4/23/2010 5:05:23 PM
Gntlhnds -

Like John said, you could use a query or a form to assign students to their 
classes.  If all students that come through your school take the same 
courses, and in the same order, or they all start on the same day, and all 
students take all 13 of your courses, then you can write a query to append 
the records when the student is added.  I worry that your design is not very 
flexible, and that if something changes you will need to do a lot of rework.  
 Some things to consider (you can choose what you want to implement depending 
on your business model):

1.  You really offer two programs, some classes of students are in program A 
that take courses a100, a200, a300, a400, and a500, while some classes of 
strudents are in program B that take courses b100, b200, b300, b400, b500, 
b600, b700, and b800.   If this case, you need to create a programs table and 
assign courses to the programs (maybe course a100 is given in both programs 
because it is an introduction class).  Then when you set up your student, you 
assign them a program, and you can use a query to append the records for each 
student based on the program.

2.  Some students will take only some of the classes.  You don't want to 
show students in a class with no grades if they don't take the class.   If 
your classes are, say, 2 weeks each, and the program is supposed to last 26 
weeks, then some students may drop out after week 10.  In this case, you 
don't want to assign all students to all courses up front.  Maybe all 13 
courses are taught in 1/2-hour blocks every day, so all students really do 
start all classes.  Then you would assign them all up front...

3.  I really think you will want some dates in your tables.  If the courses 
are taken sequentially, then you may want to include the course start date in 
your tblCourseGrades (which I am thinking is more like a tblCourseEnrollment, 
one attribute of which would be the final grade).  A completion date would be 
good unless that can always be determined from the start date (e.g. your 
programs always take 6 weeks to complete).

Anyway, if you just want to add all courses for each new student with your 
current structure, then you could add a button on the form you use to add a 
student, and clicking the button could run a query like this (use your form 
and control name to get the current StudentID from the form):

INSERT INTO tblCourseGrades(CourseID, StudentID)
SELECT CourseID, Forms!StudentForm!txtStudentID 
FROM tblCourses;

If you can provide more details, we can provide more help...

-- 
Daryl S


"John W. Vinson" wrote:

> On Fri, 23 Apr 2010 07:48:01 -0700, Gntlhnds
> <Gntlhnds@discussions.microsoft.com> wrote:
> 
> >Thanks for the response.  The best way to describe my situation would be like 
> >an elementary school, where each class takes the same courses at the same 
> >time.  And, no, my tblCourseGrades is not populated with the courses and 
> >students.  I'm assuming I would use a query to do this, but how would I work 
> >that?  I have classes starting about every two weeks or so, and each class 
> >takes the same courses, so I would need to frequently update that table.  I 
> >hope this is enough information.  Thanks.
> 
> A Query probably will be involved, but you would (I would guess!) need to pick
> somebody's brain for the information that Alisia Gonzalez is assigned to the
> Management Development class starting May 3. Normally one would do this using
> a form and subform arrangement; this could be done in two ways - you could
> have a form based on the table of students with a subform based on what I'd
> call the "class enrollment" table, allowing you to pick whichever classes this
> student needs. Alternatively (or in addition) you could have a form based on
> the class table, with a subform allowing you to pick students from a combo box
> to enter them into the enrollment table.
> -- 
> 
>              John W. Vinson [MVP]
> .
> 
0
Utf
4/23/2010 5:49:02 PM
I was thinking the problem was my tables.  Here's my current structure:

tblStudents:
StudentID
Last Name
First Name
Class #

tblCourses:
CourseID
Course

tblCourseGrades:
GradeID (Primary Key)
StudentID (Foreign Key)
CourseID (Foreign Key)
Grade

tblStudents has other fields, but those are the only ones that pertain to 
setting up the grades.  I know the naming convention for the field names 
isn't proper, but I inherited the database and I'm afraid of changing the 
field names because it might cause many other things to fail in the database.

Here's how my school operates:
Student shows up and is assigned to a class.  The class takes the 13 classes 
sequentially.  A few weeks later some more students show up, are assigned to 
a class, and they start the courses as well, taking them sequentially.  
Hopefully that helps clear up what I'm looking for and expecting.  I was 
thinking I could just create a form that I could select the student from a 
combo box, and the subform would list the courses and allow me to input the 
student's grade for each class (to be stored in tblCourseGrades).  Then I 
would create report(s) that would allow me to take those grades and output 
them in various formats (one individualized for the student, one for the 
class, and then whatever other ones I get tasked to provide).  I really do 
thank you for helping me out and trying to make me understand how this is 
really supposed to work.
0
Utf
4/23/2010 6:14:01 PM
On Fri, 23 Apr 2010 11:14:01 -0700, Gntlhnds
<Gntlhnds@discussions.microsoft.com> wrote:

>I was thinking the problem was my tables.  Here's my current structure:
>
>tblStudents:
>StudentID
>Last Name
>First Name
>Class #

What's Class#? I'd remove the blanks from the fieldnames and avoid using # -
it's a date delimiter and can cause problems in fieldnames. If you do keep
them you must ALWAYS use [square brackets] around the fieldnames.


>tblCourses:
>CourseID
>Course
>
>tblCourseGrades:
>GradeID (Primary Key)
>StudentID (Foreign Key)
>CourseID (Foreign Key)
>Grade

That appears to be correct. You might want to create a unique twofield index
on StudentID and CourseID to prevent one student from being signed up to the
same course twice.

>tblStudents has other fields, but those are the only ones that pertain to 
>setting up the grades.  I know the naming convention for the field names 
>isn't proper, but I inherited the database and I'm afraid of changing the 
>field names because it might cause many other things to fail in the database.
>
>Here's how my school operates:
>Student shows up and is assigned to a class.  The class takes the 13 classes 
>sequentially.  A few weeks later some more students show up, are assigned to 
>a class, and they start the courses as well, taking them sequentially.  
>Hopefully that helps clear up what I'm looking for and expecting.  I was 
>thinking I could just create a form that I could select the student from a 
>combo box, and the subform would list the courses and allow me to input the 
>student's grade for each class (to be stored in tblCourseGrades).  Then I 
>would create report(s) that would allow me to take those grades and output 
>them in various formats (one individualized for the student, one for the 
>class, and then whatever other ones I get tasked to provide).  I really do 
>thank you for helping me out and trying to make me understand how this is 
>really supposed to work.

You're doing OK. I'd suggest basing a Form on tblStudents; use the combo box
wizard to create an unbound combo on the form to navigate to a particular
student's record (use the option "Use this combo to find a record" in the
wizard).

On the form you would put a Subform based on tblCourseGrades. This subform
would use the StudentID as the master/child link field, and have a combo box
for the CourseID; the combo's rowsource would be the Courses table to let you
pick which courses for that student. The combo will show all the courses. Next
to the combo you'ld have a textbox to enter the grade.
-- 

             John W. Vinson [MVP]
0
John
4/23/2010 7:34:23 PM
Man, this helped so much.  This is what I started to try to do, but for some 
reason I couldn't get the darn thing to work properly.  Your step-by-step 
instructions was just what I needed.

About the naming conventions, I unfortunately inherited this database, so 
normally I would try to adhere to them, however, I'm afraid that if I change 
the names of things, they wouldn't propagate properly.  I've already tried 
renaming various forms, tables, reports, and queries, and things ended up not 
working, and I'd spend hours going back through trying to find places where 
the changes didn't propagate.
0
Utf
4/26/2010 2:04:04 PM
On Mon, 26 Apr 2010 07:04:04 -0700, Gntlhnds
<Gntlhnds@discussions.microsoft.com> wrote:

>Man, this helped so much.  This is what I started to try to do, but for some 
>reason I couldn't get the darn thing to work properly.  Your step-by-step 
>instructions was just what I needed.

Glad to have been of help, and good luck with the database! Don't hesitate to
post back if you still have problems.
-- 

             John W. Vinson [MVP]
0
John
4/26/2010 3:28:21 PM
I am actually having another problem.  I'm trying to do a report and in the 
footer of StudentID I have an unbound text box to calculate the average grade 
for each student.  Here is the formula I'm using:  =Avg(IsNumeric([Grade])).  
It doesn't return the correct grade (-0.825), and it gives the same answer 
for each student.  Any thoughts?  I know this is the Forms thread, so I can 
move this question to the Reports if need be.

"John W. Vinson" wrote:

> On Mon, 26 Apr 2010 07:04:04 -0700, Gntlhnds
> <Gntlhnds@discussions.microsoft.com> wrote:
> 
> >Man, this helped so much.  This is what I started to try to do, but for some 
> >reason I couldn't get the darn thing to work properly.  Your step-by-step 
> >instructions was just what I needed.
> 
> Glad to have been of help, and good luck with the database! Don't hesitate to
> post back if you still have problems.
> -- 
> 
>              John W. Vinson [MVP]
> .
> 
0
Utf
4/27/2010 12:43:01 PM
I know it has been a while since this post was made, but I've finally been 
able to devote some time into trying to finish this.  I've run into a 
problem, though.

In my subform, I have a datasheet with two columns, Course and Grade.  
Course is a combo box with CourseID as its control sourse (from 
tblCourseGrades), its row source is tblCourses, its bound column is 1, it is 
set up with two colums, column widths being 0";1".  Grade has its control 
sourse as Grade from tblCourseGrades.  The problem comes when I try to select 
the course to input a grade for it.  It won't let me select any course and 
tells me in the lower left of the screen "control can't be edited; it's bound 
to AutoNumber field "ControlID".  If I try to make it an unbound control, 
then the courses column appears blank, and when I try to select a course, it 
makes that the course for all the records in the datasheet.  If I try to use 
Course from tblCourses as its control source, I get a message that pops up 
when I try to select a course that says "Field cannot be updated", and if I 
click "ok" on that it will leave my input as it is, and if I go to another 
record and back to that original record, it will allow me to input a grade.  
The side effect is that in tblCourseGrades there is a new record, but nothing 
in the StudentID field, and tblCourses has a new record that isn't supposed 
to be there.  What do I need to do to get this seemingly straightforward form 
to work properly?  Thanks for the help.

"John W. Vinson" wrote:

> On Fri, 23 Apr 2010 11:14:01 -0700, Gntlhnds
> <Gntlhnds@discussions.microsoft.com> wrote:
> 
> >I was thinking the problem was my tables.  Here's my current structure:
> >
> >tblStudents:
> >StudentID
> >Last Name
> >First Name
> >Class #
> 
> What's Class#? I'd remove the blanks from the fieldnames and avoid using # -
> it's a date delimiter and can cause problems in fieldnames. If you do keep
> them you must ALWAYS use [square brackets] around the fieldnames.
> 
> 
> >tblCourses:
> >CourseID
> >Course
> >
> >tblCourseGrades:
> >GradeID (Primary Key)
> >StudentID (Foreign Key)
> >CourseID (Foreign Key)
> >Grade
> 
> That appears to be correct. You might want to create a unique twofield index
> on StudentID and CourseID to prevent one student from being signed up to the
> same course twice.
> 
> >tblStudents has other fields, but those are the only ones that pertain to 
> >setting up the grades.  I know the naming convention for the field names 
> >isn't proper, but I inherited the database and I'm afraid of changing the 
> >field names because it might cause many other things to fail in the database.
> >
> >Here's how my school operates:
> >Student shows up and is assigned to a class.  The class takes the 13 classes 
> >sequentially.  A few weeks later some more students show up, are assigned to 
> >a class, and they start the courses as well, taking them sequentially.  
> >Hopefully that helps clear up what I'm looking for and expecting.  I was 
> >thinking I could just create a form that I could select the student from a 
> >combo box, and the subform would list the courses and allow me to input the 
> >student's grade for each class (to be stored in tblCourseGrades).  Then I 
> >would create report(s) that would allow me to take those grades and output 
> >them in various formats (one individualized for the student, one for the 
> >class, and then whatever other ones I get tasked to provide).  I really do 
> >thank you for helping me out and trying to make me understand how this is 
> >really supposed to work.
> 
> You're doing OK. I'd suggest basing a Form on tblStudents; use the combo box
> wizard to create an unbound combo on the form to navigate to a particular
> student's record (use the option "Use this combo to find a record" in the
> wizard).
> 
> On the form you would put a Subform based on tblCourseGrades. This subform
> would use the StudentID as the master/child link field, and have a combo box
> for the CourseID; the combo's rowsource would be the Courses table to let you
> pick which courses for that student. The combo will show all the courses. Next
> to the combo you'ld have a textbox to enter the grade.
> -- 
> 
>              John W. Vinson [MVP]
> .
> 
0
Utf
5/20/2010 11:35:01 AM
When asking about forms you should always describe the Record Source.  Going
back to the table structure:

tblStudents:
  StudentID
  Last Name
  etc.

tblCourses:
  CourseID
  Course

tblCourseGrades:
  GradeID (Primary Key)
  StudentID (Foreign Key)
  CourseID (Foreign Key)
  Grade

Click View >> Relationships.  There should be a relationship between the two
StudentID fields, and between the two CourseID fields.  The linking fields in
tblCourseGrades need to be the same data type as in tblStudent and tblCourses,
except that if CourseID in tblCouse is autonumber, it needs to be Long
Integer in tblCourseGrades.

Your main form is bound to tblStudent, and your subform to tblCourseGrades.
In design view, click the subform control (the "box" on the main form that
contains the subform), and click View >> Properties.  Be sure the Link Child
and Link Master properties are set to StudentID, as it is the linking field
between the two tables.

On the subform, the Course combo box is bound to StudentID.  Remember, the
subform is bound to tblCourseGrades only, so the combo box has CourseID in
tblCourseGrades as its Control Source.  The Row Source for the combo box is
tblCourse, with CourseID as the first (hidden) column and Course as the
second (visible) column.  The Bound Column for the combo box is 1, and the
Column Count is 2.  It sounds like you have the combo box set up correctly,
but I am just reviewing.

tblCourseGrades serves two purposes:  It lets you assign students to classes,
and when the class is complete it lets you assign grades.  Before the grades
are assigned you can use it to produce a listing of students who are supposed
to be there (so you can take attendance, or whatever).  You would do this by
either creating a report based on tblCourse, with a subreport based on
tblCourseGrades; or you could make a query that includes tblCourse and
tblCourseGrades.  Make a report based on this query, and group the report
(View >> Sorting and Grouping) by CourseID.

When you say your subform has a datasheet with two columns, I assume you mean
your subform uses Datasheet as the Default View.

It sounds as if your subform may be bound to something other than
tblCourseGrades.

Gntlhnds wrote:
>I know it has been a while since this post was made, but I've finally been 
>able to devote some time into trying to finish this.  I've run into a 
>problem, though.
>
>In my subform, I have a datasheet with two columns, Course and Grade.  
>Course is a combo box with CourseID as its control sourse (from 
>tblCourseGrades), its row source is tblCourses, its bound column is 1, it is 
>set up with two colums, column widths being 0";1".  Grade has its control 
>sourse as Grade from tblCourseGrades.  The problem comes when I try to select 
>the course to input a grade for it.  It won't let me select any course and 
>tells me in the lower left of the screen "control can't be edited; it's bound 
>to AutoNumber field "ControlID".  If I try to make it an unbound control, 
>then the courses column appears blank, and when I try to select a course, it 
>makes that the course for all the records in the datasheet.  If I try to use 
>Course from tblCourses as its control source, I get a message that pops up 
>when I try to select a course that says "Field cannot be updated", and if I 
>click "ok" on that it will leave my input as it is, and if I go to another 
>record and back to that original record, it will allow me to input a grade.  
>The side effect is that in tblCourseGrades there is a new record, but nothing 
>in the StudentID field, and tblCourses has a new record that isn't supposed 
>to be there.  What do I need to do to get this seemingly straightforward form 
>to work properly?  Thanks for the help.
>
>> >I was thinking the problem was my tables.  Here's my current structure:
>> >
>[quoted text clipped - 51 lines]
>> pick which courses for that student. The combo will show all the courses. Next
>> to the combo you'ld have a textbox to enter the grade.

-- 
Message posted via http://www.accessmonster.com

0
BruceM
5/20/2010 1:05:05 PM
I don't know how I missed my subform not being bound to tblCourseGrades.  I 
thought it was, but it had a SELECT statement as its record source.  Thanks 
for the help.  Now it is working the way that it should.

"BruceM via AccessMonster.com" wrote:

> When asking about forms you should always describe the Record Source.  Going
> back to the table structure:
> 
> tblStudents:
>   StudentID
>   Last Name
>   etc.
> 
> tblCourses:
>   CourseID
>   Course
> 
> tblCourseGrades:
>   GradeID (Primary Key)
>   StudentID (Foreign Key)
>   CourseID (Foreign Key)
>   Grade
> 
> Click View >> Relationships.  There should be a relationship between the two
> StudentID fields, and between the two CourseID fields.  The linking fields in
> tblCourseGrades need to be the same data type as in tblStudent and tblCourses,
> except that if CourseID in tblCouse is autonumber, it needs to be Long
> Integer in tblCourseGrades.
> 
> Your main form is bound to tblStudent, and your subform to tblCourseGrades.
> In design view, click the subform control (the "box" on the main form that
> contains the subform), and click View >> Properties.  Be sure the Link Child
> and Link Master properties are set to StudentID, as it is the linking field
> between the two tables.
> 
> On the subform, the Course combo box is bound to StudentID.  Remember, the
> subform is bound to tblCourseGrades only, so the combo box has CourseID in
> tblCourseGrades as its Control Source.  The Row Source for the combo box is
> tblCourse, with CourseID as the first (hidden) column and Course as the
> second (visible) column.  The Bound Column for the combo box is 1, and the
> Column Count is 2.  It sounds like you have the combo box set up correctly,
> but I am just reviewing.
> 
> tblCourseGrades serves two purposes:  It lets you assign students to classes,
> and when the class is complete it lets you assign grades.  Before the grades
> are assigned you can use it to produce a listing of students who are supposed
> to be there (so you can take attendance, or whatever).  You would do this by
> either creating a report based on tblCourse, with a subreport based on
> tblCourseGrades; or you could make a query that includes tblCourse and
> tblCourseGrades.  Make a report based on this query, and group the report
> (View >> Sorting and Grouping) by CourseID.
> 
> When you say your subform has a datasheet with two columns, I assume you mean
> your subform uses Datasheet as the Default View.
> 
> It sounds as if your subform may be bound to something other than
> tblCourseGrades.
> 
> Gntlhnds wrote:
> >I know it has been a while since this post was made, but I've finally been 
> >able to devote some time into trying to finish this.  I've run into a 
> >problem, though.
> >
> >In my subform, I have a datasheet with two columns, Course and Grade.  
> >Course is a combo box with CourseID as its control sourse (from 
> >tblCourseGrades), its row source is tblCourses, its bound column is 1, it is 
> >set up with two colums, column widths being 0";1".  Grade has its control 
> >sourse as Grade from tblCourseGrades.  The problem comes when I try to select 
> >the course to input a grade for it.  It won't let me select any course and 
> >tells me in the lower left of the screen "control can't be edited; it's bound 
> >to AutoNumber field "ControlID".  If I try to make it an unbound control, 
> >then the courses column appears blank, and when I try to select a course, it 
> >makes that the course for all the records in the datasheet.  If I try to use 
> >Course from tblCourses as its control source, I get a message that pops up 
> >when I try to select a course that says "Field cannot be updated", and if I 
> >click "ok" on that it will leave my input as it is, and if I go to another 
> >record and back to that original record, it will allow me to input a grade.  
> >The side effect is that in tblCourseGrades there is a new record, but nothing 
> >in the StudentID field, and tblCourses has a new record that isn't supposed 
> >to be there.  What do I need to do to get this seemingly straightforward form 
> >to work properly?  Thanks for the help.
> >
> >> >I was thinking the problem was my tables.  Here's my current structure:
> >> >
> >[quoted text clipped - 51 lines]
> >> pick which courses for that student. The combo will show all the courses. Next
> >> to the combo you'ld have a textbox to enter the grade.
> 
> -- 
> Message posted via http://www.accessmonster.com
> 
> .
> 
0
Utf
5/20/2010 4:43:01 PM
I meant to mention that a query based on a table can be used as the Record
Source for a form or report.  If tblCourseGrades can be the Record Source, so
can a query based on tblCourseGrades.  A query is a SELECT statement with
varying levels of detail, so the correct SELECT statement should work as the
Record Source just as a named query could.  You could get a query working as
the Record Source for a form, then open the query in SQL view, copy the text,
and use that instead of the query name as the Record Source.  It's all
essentially the same to Access.  There may be some performance advantages one
way or the other, but nothing you would be likely to notice in your project.

Gntlhnds wrote:
>I don't know how I missed my subform not being bound to tblCourseGrades.  I 
>thought it was, but it had a SELECT statement as its record source.  Thanks 
>for the help.  Now it is working the way that it should.
>
>> When asking about forms you should always describe the Record Source.  Going
>> back to the table structure:
>[quoted text clipped - 77 lines]
>> >> pick which courses for that student. The combo will show all the courses. Next
>> >> to the combo you'ld have a textbox to enter the grade.

-- 
Message posted via AccessMonster.com
http://www.accessmonster.com/Uwe/Forums.aspx/access-forms/201005/1

0
BruceM
5/20/2010 6:31:30 PM
Reply:

Similar Artilces:

How do I set up an argument which asks for multiple criteria
I am trying to use an argument that asks for one of three criteria (2345P, 8319T, or 7026J) in cell C108, and if it finds it, enters the amount of yet another cell, G108 into cell K108, and if not enters 0 into cell K108. It seems there are too many arguments for the "if" argument, and I can't seem to get the "lookup" argument to work either. Is there another argument I should be working with? Thanks -- Diver Try: =IF(OR(C108="8319T",C108="2345P",C108="7026J"),G108,0) "bj" wrote: > try in K108 > =if(or(c108=&qu...

setting up new outlook mail account
i can not set up a new account on my outlook, i keep saying establish network connection with a correct sign but searching for my mail account shows X can you please advise Are you trying to setup a POP3 mail account or an Exchange account? Also, what version of Outlook are you using? "rashid" <rashid@discussions.microsoft.com> wrote in message news:C59D04C0-C1C9-4BD1-AE00-2009D25B221D@microsoft.com... > i can not set up a new account on my outlook, i keep saying establish > network > connection with a correct sign but searching for my mail account shows X > ...

reshap table
Hi I want to format a table. In the attached file you will find the sourc table and the desired format. I tryed to use Pivot Table but is no suited for the problem. Thank +---------------------------------------------------------------- | Attachment filename: problem.xls |Download attachment: http://www.excelforum.com/attachment.php?postid=361731 +---------------------------------------------------------------- ----------------------------------------------- ~~ Message posted from http://www.ExcelTip.com ~~View and post usenet messages directly f...

how can I change the scale of the numbers in my chart data table?
I have set up a simple graph, and I have opted to show a data table at the bottom which shows my graph results numerically. However, whilst I have changed the scale on the value axis with no problem, I cannot change the scale of my data table to thousands.. the only option I seem to have is to be able to format the font. Please can you help? A chart data table has very limited capability. Instead of using one, consider simulating the effect. See Custom Chart Table http://www.tushar-mehta.com/excel/newsgroups/data_table/index.htm -- Regards, Tushar Mehta www.tushar-mehta.com Excel,...

OWA Set Rule problem
I have successfully install the Exchange 2003 with SP1 in the Windows Server 2003. Anything alright exclude the rules function in OWA. I try to set the rules from any then "move to" or "copy to" specify folder are no problem, but "forward to" other email address, its don't work. I try to input the email address in the contact and then select from the contact, but the result also don't work. The rules can save and I can receive the incoming email in the Exchange 2003/Outlook or OWA, but it don't forward to my specify email address. I try to...

How do I set the 'Set Synchronizing Client' field
We have a number of outlook clients using CRM that have the 'Set Synchronizing Client' select box greyed out. We need to tick them so that they are able to synchronize tasks etc. Can any one help me find out why these are greyed out and then set them so that they can synchronize thanks In my experience, that checkbox is always greyed out for the first install that is performed for a user. The only time that checkbox becomes active is if a second copy of CRM is installed for a user who already has CRM installed on another PC.... Normally the box is checked and grey. If that is...

How to set backcolour
Hello All I have a continuous form containing a number field (long integer) called [v_colour]. This field contains the number of a certain colour - as per the numbers that are used in the format properties for back colour etc. I would like to set the back colour for the form's [v_colour] text box to be the value of the field: e.g. If the value of [v_colour] in the first record is 255, I want the back colour of the textbox for that record to be bright red. I tried this as the OnLoad event for the form: [v_colour].backcolour = [v_colour].value .... but this resulted in the back colour of...

Applying Percent Decrease Across Set Periods
I have a column which includes dates when items were purchased. I have used the DATEDIF function to find the number of years between that date and today's date. I now want to decrease the purchase amount 10% for every year calculated via the DATEDIF function. Any ideas, is this possible, why can't I think...? -- Hunt&amp;Peck ------------------------------------------------------------------------ Hunt&amp;Peck's Profile: http://www.excelforum.com/member.php?action=getinfo&userid=32961 View this thread: http://www.excelforum.com/showthread.php?threadid=527873 ...

Create one class in order to connect with multiple tables.
Create one class in order to connect with multiple tables. I always create one new class for one table in order to connect it via wizard. So,I had created ten classes for ten tables. Can you teache me how to create one new class which it can connect to multiple tables? Thanks in advance. Sam, I would assume that you are referening the MFC ODBC classes - specifically the CRecordset. If that is the case, then you have but a few options. If your recordsets are read-only, then you do not have to use a derived class - you can create an object of CRecordset, and use one of the GetFeildValue...

Set Regional Settings but not Language
Hi I have a multi-language APP en-US, es-ES, it-IT I usually change Languages and Locales by using the CultureInfo to switch Languages System.Globalization.CultureInfo myCI = new System.Globalization.CultureInfo("es-ES"); My issue is - what if the user wants to View App in english and use the Regional Options on a PC in say Spain ??? If I change the CultureInfo to en-US then they can view APP in English ( English satelite assemblies) but date and numbers will be in US format If I change the CultureInfo to es-ES then date and numbers will be in Spain forma...

The Pivot Table field name is not valid, #2
I am receiving the above error message, but don't understand why. My data is in columns, organised as a list and the columns are labelled. What do I have to do to get over this? Thanks Denise Hey Deniseh... The Pivot table is looking for a concentric group of columns and cells, my belief without seeing the data is that you have a column in the data range that does not have heading... check to verify that each the first cell in each column of the pivot table data range has a value populated -- Thanks for your help - Joe Mac "deniseh" wrote: > I am receiving the ab...

Obtaining the correct results from a two table query
I have two tables say A and B, what I am trying to achieve with the query is just to display records that have the received field ticked in table A and the colour field in table B not containing �Y�. How do I modify the code below to achieve this? SELECT A_Date, A.Received, A.ID, B. Colour FROM A LEFT JOIN B ON DDP_A.Main = B.Main WHERE (((A.Received)= -1) AND ((B.Colour <> �Y�)); jo@jo.uk wrote: >I have two tables say A and B, what I am trying to achieve with the query is >just to display records that have the received field ticked in table A and >the colo...

Work Hours setting excludes specified hours from Scheduling
I am miffed by this problem. I specify a work hour schedule for a user. When I schedule a CRM User as a Resource for a Service in Scheduling of a Service Activity with Requested Time of ASAP and click Find Available Times, the values for Avilable Times returned are outside of the Work Hours I specified for the user and not within the work hours. When I drill into the Work Hours for this User, the Calendar view shows Cross Day rather than 8:00AM - 5:00PM I speciied for work hours and editing the hours reveal the correct hours in the Work Hours. What gives? Never mind. Figured out w...

Reading Pane Settings
I did a search for an answer to this question and have not found one. If I missed an answer already posted, please direct me to the right place. I have Outlook 2007 and set up the "right" reading pane for my e-mail. Now when I go to my calendar it is set up the same way - calendar on the left (same size as the inbox) and then there is a blank space to the right that is the size of the reading pane/preview. To the right is the to-do bar (which I have no problem with). I don't know why there is a reading/preview pane on the calendar when there is nothing to preview, and I...

How do wrap all columns of a pivot table to 2nd half of same page
I have a 3 column pivot table that can be too long to fit on one page, but I do not want to shrink it to fit (makes type too small) Is there a way to get the rows that don't fit on the page to wrap and print as a 3 column table on 2nd half (open half) of the page? Hi, If you are asking whether you can wrap text in a pivot table - yes, the same way you do it in a spreadsheet - Format, Cells, Alignment, Wrap text I don't think this is what you are after but ... If you are asking can you extend the printout across multiple pages, look at this and see if it addresses anything you ...

Outlook "Arrange By" option does not retain its setting
In outlook 2007, I use a custom view for my inbox, and I have the Group By option checked to"Automatically group according to arrangement." This has been workn flawlessly until today, when I realized Outlook did not like a particular mouse click; perhaps I clicked on the border of two options or some other anomoly that caused the window toflash once. The end result was that my Arrange By option changed to "From" when I had previously set it to "Conversation." Now, whenever I hange it backto "Conversation," leave the inbox and come back, ...

interactive buttons, multiple sets
hi folks I'm sure one of you good folks will save my bacon as usual I have a series of websites, all of which exhibit the same odd behavior with interactive buttons. I have a bunch of buttons in the left margin, each of which pulls up ( lets call it ) a chapter, and in each 'chapter' are a number of related pages. On the top of each page is an imbedded page which has 'page numbers' for all the 'pages' in that chapter. So, it's a grid where the 'vertical' buttons in the left margin and the 'horizontal' buttons at the top comb...

How do I set OOR
I have searched the help menu and have had no luck finding out how to set my outlook 200 to send an OOR (Out of Office Reply) Any assistance would be great If you are in an Exchange environment (ask your administrator if you do notknow) you can set the Out of the Office Assistant which is located under Tools. If you are not in an Exchange environment you can create a rule that replies on all e-mails. The downside of this is that you'll have to have your Outlook open all the time for the rules to process. Make sure you set some exceptions (for instance based on the subject field so ...

Set Focus
I have text box that I input data into and I was wondering if it is possible to set focus to the text box and avoid clicking on the box. I thought the term is Set Focus, but can't find any information or example that would help in doing so. Any help would be appreciated .. PPT 2003. Look at the following page for code to set focus on a text box: http://officeone.mvps.org/vba/activate_shape.html - Chirag PowerShow - View multiple PowerPoint slide shows simultaneously http://officeone.mvps.org/powershow/powershow.html "Phil K" <PhilK@discussions.microsof...

Set published amount of calendar information
Hey guys! Is there any way I can have Exchange 2000/2003 force the amount of time published in the outlook calendar? I know that you can go into the the calendar options and set the amount you want published, but is there a way to have exchange require the amount that is published so that I could get everyone to publish a year's worth of calendar data instead of one person being set at 2 months and another at 6 months and another at 12? Thanks! Mike On Thu, 29 Jun 2006 06:18:02 -0700, Mike <Mike@discussions.microsoft.com> wrote: >Hey guys! > >Is there any way I c...

Pivot Table Question #8
I have a pivot table that looks a bit like this Month Measure Jul-06 Aug-06 Sep-06 Income 20 30 40 Each month the data table that the pivot is based on has another month's worth of data added i.e for the above example the income for Oct-06 will be added. The problem is that in the above pivot I have manually gone into the Month field and deselected 'All' and then selected 'Jul-06', 'Aug-06', 'Sep-06', so next month when October is added to the data the above pivot will be unchanged i.e Oct-06 won't appear...

Publisher 2003 Need to set business card to Avery 5371 setting
I need to set the print settings so the business cardd that I created will print on Avery 5371 business cards Okay.........and your question is? -- JoAnn Paules MVP Microsoft [Publisher] "Jonathan" <Jonathan @discussions.microsoft.com> wrote in message news:187615DD-9EF1-42A2-8436-78E6E6C6ACE4@microsoft.com... >I need to set the print settings so the business cardd that I created will > print on Avery 5371 business cards Page setup, business cards, click change copies per sheet, type > .5 top, .75 side, zero gaps. Avery 5371 is a standard business card s...

Setting the Settings
Really quickly: How (exactly) does one get Publisher to remember the page settings I want. ie. every time I open a new document, I get centimeters, and usually, I'd prefer inches. I have not been able to find a "Save Settings" option anywhere. Can anyone help? thomas In Publisher 2000 it's Tools Options General tab Measurements unit box - select inches. OK That should do it. -- Don -------- Vancouver, USA - One of the great cities in one of the 45+ countries in America! "ThomasL" <tlammert@netcom.ca> wrote in message ne...

"Object or class does not support the set of events" Quick Question
All, I built a MS Access database in MS Access 2003, which I have set up in a shared folder. I have a form with some standard components such as text boxs, bottons. When a user updates the form I wish to record the time/date and username in the record. I have posted a copy of the code I'm using for the "BeforeUpdate" event below. Now this works fine on my machine and updates without a problem. However when a user on another machine (also using MS Access 2003) tries to update the same field, he gets the following error: "The expression Before Update you entered as the eve...

Strange permission Settings.
Hey folks I got a strange problem and i think it has somthing to do with permisions server end but it is possible this could also be a client side problem Okay so im on the support desk we have a number of users that access an exchange 2003 server using outlook 2003 some teams share access team maiboxes. When they try to add a custom field to (in tasks or email) on a shared mailbox they recive this error message "You do not have sufficient permission to perform this operation on this object. See the folder contact or the system administrator" But they have full rights to it an...