EDIT: was a design issue
my revised final ERD
https://i.stack.imgur.com/xDj6i.png
I am undergoing a computing project for Alevel computing.
The project consists of a 6 tabled Microsoft access database. I am using vb.net to code the application for a student tracking system.
My ERD is below:

My problem: How to insert a new compound Primary key into a existing table?
If I increment StudID and CourseID in tblContact then I need to increment them in tblStudentCourse which leads to records not pointing to the right directions..
For enforcing the relationships I am using the .relations with the dataset.
'Student - StudentCourse
DS.Relations.Add(New DataRelation("StudStudCorRelation", DTStudents.Columns("StudID"), DTStudentCourses.Columns("StudID"), True))
'Course - StudentCourse
DS.Relations.Add(New DataRelation("CourStudCorRelation", DTCourses.Columns("CourseID"), DTStudentCourses.Columns("CourseID"), True))
StudCourseCompPK(0) = DTStudentCourses.Columns("StudID")
StudCourseCompPK(1) = DTStudentCourses.Columns("CourseID")
StudCourseContactCompPK(0) = DTContacts.Columns("StudID")
StudCourseContactCompPK(1) = DTContacts.Columns("CourseID")
StudCourseStudTMACompPK(0) = DTStudentTMAS.Columns("StudID")
StudCourseStudTMACompPK(1) = DTStudentTMAS.Columns("CourseID")
'Enforces the relations between these 2 keys
DS.Relations.Add(New DataRelation("CPKContact", StudCourseCompPK, StudCourseContactCompPK, True))
DS.Relations.Add(New DataRelation("CPKStudentTMA", StudCourseCompPK, StudCourseStudTMACompPK, True))
DS.EnforceConstraints = True
DTStudentCourses.PrimaryKey = New DataColumn() {DTStudentCourses.Columns("StudID"), DTStudentCourses.Columns("CourseID")}
But the last line here:
DTStudentCourses.PrimaryKey = New DataColumn() {DTStudentCourses.Columns("StudID"), DTStudentCourses.Columns("CourseID")}
Needs to be used to retrieve the keys from tblStudentCourse which I am unsure about what todo
If anybody could take a look at this problem I would be very grateful.
Harry
Revised ERD

No, values increment in only one table. Anywhere else you use those incremented values, you essentially copy them.
So tblStudent.StudID might be an integer that gets incremented by one for each new student. tblCourse.CourseID might be an integer that gets incremented by one for each course. To store data in tblStudentCourse, you copy one appropriate, existing integer from tblStudent.StudID and another appropriate, existing integer from tblCourse.CourseID.
StudID is incremented in only one place–tblStudent. CourseID is incremented in only one place–tblCourse.