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. ScottGem 68,840 Reputation points Volunteer Moderator
    2017-01-05T15:01:04+00:00

    Nope you did NOT follow my instructions. This is from my post on 1/3:


    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


    You need to create the Temp table as I described. You need to populate that table using the code shown above. You also need to create a new crosstab query based on the Temp table and then use that to create a table that can be used as the Recordsource of your report.

    So the process steps are:

    1. delete all the records from the temp table
    2. populate the temp table with the records filtered for the Center Code and Month
    3. Run the report which will be based on a query that reads from the NEW crosstab query (based on the temp table)

    Was this answer helpful?

    0 comments No comments
  2. Anonymous
    2017-01-05T14:41:09+00:00

    First of all let me show you a screen shot of the main form in which I selected center code 15 with December 2016 as the month:

    With the CenterCode as 15 and the month as December 2016, the first query works fine:

    Now, for the Crosstab query which I named, qryProgress_Crosstab results in the following:

    As you can see above the qryProgress_Crosstab opens with no results and is completely blank. Also note the main form is open right next to the query for it to reference it.

    ***Personal information deleted by the moderator. Please see the Microsoft Community Frequently Asked Questions for more information on how you can protect your privacy.***

    Was this answer helpful?

    0 comments No comments
  3. ScottGem 68,840 Reputation points Volunteer Moderator
    2017-01-04T15:46:28+00:00

    Something is not right here. Can you run qryProgess_Crosstab and show me a screenshot of the results?

    This is what I get when I run the the crosstab. qryReport1 is the second query that I used for the report. This is what tmpProgress should look like after Appending the records to it:

    ***Personal information deleted by the moderator. Please see the Microsoft Community Frequently Asked Questions for more information on how you can protect your privacy.***

    Was this answer helpful?

    0 comments No comments
  4. Anonymous
    2017-01-04T14:24:32+00:00

    I did the exact same steps you mentioned in your guideline above, and also named my query as qryProgress_Crosstab. Yet the error is still alive. I named the second query as qryRecordSource_for_Report. And the SQL of the crosstab is as follows:

    SELECT qryProgress_Crosstab.StudentID, tblStudents.StudentName, qryProgress_Crosstab.CenterCode, qryProgress_Crosstab.English AS Expr1, qryProgress_Crosstab.Hindi AS Expr2, qryProgress_Crosstab.Math AS Expr3, qryProgress_Crosstab.Science AS Expr4, [total Of GradeScore]/4 AS PERCENTAGE

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

    I don't know why the above query is inserting the EXP1,2,3... after the subjects on its own? However I experience the same error as before.

    Was this answer helpful?

    0 comments No comments
  5. ScottGem 68,840 Reputation points Volunteer Moderator
    2017-01-04T03:35:43+00:00

    I gave you  the EXACT steps I took that worked. If you followed them exactly they should have worked. Did you name the crosstab query qryProgress_Crosstab?

    The crosstab query should result in columns:

    CenterCode, StudentID, English, Hindi, Math, Science

    Was this answer helpful?

    0 comments No comments