Student Progress Database Application

Anonymous
2016-11-08T11:25:10+00:00

Hello everyone!

I want to make an application for keeping track of students’ progress marks each month of the year using Access 2010. Suppose I have 10 literacy centers in 10 different locations each with 35-40 students enrolled. I want to generate a monthly Access  report showing the progress of each student in each of the subjects taught.

I have designed forms for entering details of each center, instructor and student saved in separate tables. All I need to do is find a way to generate month-wise students’ progress reports for each of the 10 literacy centers to be handed over to the center manager.

What would be the best way this could be done using Access 2010?

Thank you.

~~Maneesh

Microsoft 365 and Office | Access | For home | Windows

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments

139 answers

Sort by: Most helpful
  1. Anonymous
    2017-01-04T03:20:58+00:00

    The second query is giving an error : qryProgress_Crosstab.Englishm qryProgress_Crosstab.Hindi, qryProgress_Crosstab.Math and qryProgress_Crosstab.Science is not a valid expression. This is the same error I was struggling with previously. Seems it doesn't like the subjects at all. Do you think we should include the CourseName instead of GradeScore for the percentage. I think I can fix that but the above error for expression needs to be fixed.

    Was this answer helpful?

    0 comments No comments
  2. ScottGem 68,840 Reputation points Volunteer Moderator
    2017-01-03T19:27:04+00:00

    Frankly, I'm a little stumped. I don't really understand why the first query works and the second one doesn't. However, there is a work around. 

    What I would do is create a table to be used temporarily to store the data used for the crosstab. 

    You will then need to expand the code behind your Generate Report button:

    Dim strSQL as String

    strSQL = "DELETE * FROM tmpProgress;"

    CurrentDB.Execute strSQL, dbFailOnError

    strSQL = "INSERT INTO tmpProgress (CenterCode, StudentID, GradeScore, CourseName) " & _

                   "SELECT CenterCode, StudentID, GradeScore, CourseName " & _

                   "FROM qryStudentProgress_FIRST_SIMPLE_QUERY;"

    CurrentDB.Execute strSQL, dbFailOnError

    DoCmd.OpenReport "frmSimpleUsingCrosstabasSource", acViewPreview, , "CenterCode= " & Me.Centercode

    I would create a new crosstab query using the temp table:

    TRANSFORM Sum(tmpProgress.GradeScore) AS SumOfGradeScore

    SELECT tmpProgress.CenterCode, tmpProgress.StudentID, Sum(tmpProgress.GradeScore) AS [Total Of GradeScore]

    FROM tmpProgress

    GROUP BY tmpProgress.CenterCode, tmpProgress.StudentID

    PIVOT tmpProgress.CourseName;

    I would also create the following query that would be the recordsource of the report:

    SELECT qryProgress_Crosstab.StudentID, tblStudents.StudentName, qryProgress_Crosstab.CenterCode, qryProgress_Crosstab.English, qryProgress_Crosstab.Hindi, qryProgress_Crosstab.Math, qryProgress_Crosstab.Science, [total Of GradeScore]/4 AS Percentage

    FROM tblStudents INNER JOIN qryProgress_Crosstab ON tblStudents.StudentID = qryProgress_Crosstab.StudentID;

    Note: I don't think I have the expression for percentage correct. so you may need to change that. 

    So with the temp table, the 2 new queries and the changes to the code, it should work. 

    By the way, GradeScore should be a number datatype, not text.

    Was this answer helpful?

    0 comments No comments
  3. Anonymous
    2017-01-03T15:35:28+00:00

    Okay Scott, here's the file after compact and repair on my OneDrive : https://1drv.ms/u/s!AgqxHM1EYAf9g2PG8A4Fx5hgWjp7

    called School Database copy. Hope you are able to access it.

    Was this answer helpful?

    0 comments No comments
  4. ScottGem 68,840 Reputation points Volunteer Moderator
    2017-01-03T03:50:52+00:00

    Everything looks OK. There shouldn't be an issue with uploading the file. You can try zipping it after a Compact and Repair. or make a copy that only include the tables, forms. queries and report. And delete all but a smallsample of records

    Was this answer helpful?

    0 comments No comments
  5. Anonymous
    2017-01-03T03:44:21+00:00

    The RecordSource for the report is :

    The code behind the generate report button is:

    Private Sub Command41_Click()

    DoCmd.OpenReport "frmSimpleUsingCrosstabasSource", acViewPreview, , "CenterCode= " & Combo15

    End Sub

    Was this answer helpful?

    0 comments No comments