Jump to content
Salesforce and other SMB Solutions are coming soon. ×

Making a student test

Monica Wong

Recommended Posts

Can you recommend a good book for filemaker pro 8.


Another question, I have a database. It has a student table, with TestID field. Another table Tests with a TestID field used as a lookup. A TestItem table is related to the Tests thru TestID and denotes information about each test item and correct answer (multiple choice), hence A, B, C or D. I want to create in a Student Answer table a record for each item in the selected Test (all related by TestID) through a script. Is this possible and how.

Link to comment
Share on other sites

You're best off starting new threads instead of putting totally different questions at the bottom of existing ones.


OK... "TestID" is actually uniquely identifying each student rather than each test? Or each student only takes one test, ever? I'm very confused about why you would have a student table with an ID field named "TestID". And then "TestID" appears again in Tests? Is each record in Tests a single occurrence of a test, in other words the first record in Tests might be Mary Sue Ellen's Chemistry final from June of '06? Or is each record in Tests a named test, like "Chemistry Final June '06", which will be taken by multiple students?


Other than what seems to me to be a really odd naming convention, it could be a valid structure if the Students table has a TestID unique to each student and then the Tests table is actually a table in which each record is a single test taken by a specific student and the TestID is what links it back to the student... but now I'm confused by the phrase "used as a lookup". And where would the table in which each record is an individual Test itself be (i.e., "Chem Final '06", not "Mary Sue Ellen's Chem Final '06") if Tests isn't it?


I could be wrong and your design might make more sense if you gave all the details, but it sure sounds like an invalid design that just would not work.



I would expect, instead, a design like this:


Students [Mary Sue Ellen is one record in this table]

Courses [Chemisty 101 is one record in this table]

Terms [spring '06 is one record in this table]


Tests [Chem 101 Final Exam Spring '06 would be one record in this table. It would be related to Terms — Spring '06 — and it would be realted to Courses — Chemistry 101]


TestQuestions ["What is the formula for aluminum phosphate?" would be one record in this table. Each record in this table would be a direct child record of a record in Tests, and would thus have a TestID field; it would also have its own unique identifier, QuestionID ]


Answers ["AlPO4" would be one record in this table. This table would have a StudentID field for Students (which would identify it as Mary Sue Ellen's answer); it would have a QuestionID field, identifying it as the answer to "What is the formula for aluminum phosphate"; it would have a TestID field, looked up from TestQuestions, thereby identifying it as belonging to Chem 101 Final Exam Spring '06; and it would probably have a right/wrong field determining whether or not Mary Sue Ellen gets credit for the answer given on this question of this test of this class of this term.


That's off the top of my head, and once I got into the design of it I might change my mind about some of it, so I'm not submitting this as "my final answer" or anything, but that's the general sort of structure I'd use.

Link to comment
Share on other sites

I have read your comments. Here is my table structure. It is similar to what you have described.


Tests - TestID

Questions - TestID, QuestionID, Question, CorrectAnswer


Students - Student ID

Tests Completed - StudentID, TestID

Student Test Answers - StudentID, QuestionID, Answer, Correct


I would like to automatically add the student test answer records for each question in the test when I add the test to the test completed list.


I have just joined some an a novice at starting new topics etc.


Thanks for your help

Link to comment
Share on other sites

Sorry, I really didn't mean for that to come across so much like biting your head off.


OK, Student Test Answers is related back to Tests via its relationship to Questions which is directly linked to Tests. If you don't already have a lookup field that actually looks up TestID from Questions, I would add it.


If you're trying to view data that's actually in Student Test Answers from the context of either Tests or Students, whether as a portal/list or in aggregate (e.g., quantity correct/quantity total), you can do so with a new relationship / new table-occurrence in which you specify the student and the test (one specification would be courtesy of the record you're on, the other could be a global field with a drop-down list of relevant values); the specifying sets the value of a calc field which forms the left-hand side of the new relationshp to Student Test Answers; for the right-hand side, a calc field in Student Test Answers that concatenates the value of TestID and StudentID would be the matchfield that matches the calc of localrecord and globalvalue. If your context is Students, you'd get StudentID from the local record and select a value for g.Tests from a dropdown list of related values in Tests (i.e., tests taken by that student...tests completed?). Once that selection if made, a portal to the new Table Occurrence for Student Test Answers should show that student's answer for that test.


EDIT: I didn't specifically answer your question, did I? OK, from that vantage point you could do this script:


If [Count(PortalRelationship::AnyField)>0]

Go to Related Record [PortalRelationship, show only related, curr rec only, any relevant layout]

Go to Record/Req/Page [First]


Set Variable [$Grades, $Grades&Left("¶", Length($Grades))&Student Test Answers::Grade]

Go to Record [Next, Exit After Last]

End Loop

Go to Layout [original layout]

Set Field [Table::TestGrades, $Grades]

End If

Link to comment
Share on other sites

This thread is quite old. Please start a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...

Important Information

Terms of Use