Hello. (Access 2003)
A person completes a questionnaire with, say, 30 questions. I've structured it so that a person is chosen, then a date, then a drop-down is available so that the
question number can be selected and an answer submitted.
How can I mirror a 'true' questionnaire in which all 30 questions appear (in a form) at once? Andy.
Full questionnaire
-
- SilverLounger
- Posts: 2403
- Joined: 05 Feb 2010, 22:21
- Location: London ENGLAND
Full questionnaire
"I'm here to save your life. But if I'm going to do that, I'll need total uninanonynymity." Me Myself & Irene.
-
- Administrator
- Posts: 78532
- Joined: 16 Jan 2010, 00:14
- Status: Microsoft MVP
- Location: Wageningen, The Netherlands
Re: Full questionniare
I assume that the answer to each question is a separate record in a table.
If you want to display all thirty questions, you should use code to create 30 records in this table when a person and date have been selected.
I have attached a simple sample database in Access 2000 format, zipped.
If you want to display all thirty questions, you should use code to create 30 records in this table when a person and date have been selected.
I have attached a simple sample database in Access 2000 format, zipped.
You do not have the required permissions to view the files attached to this post.
Best wishes,
Hans
Hans
-
- SilverLounger
- Posts: 2403
- Joined: 05 Feb 2010, 22:21
- Location: London ENGLAND
Re: Full questionniare
Thank you. It took me a while to trace what you were doing - creating rows with ID, question id, without a join - and therefore creating a cross product.
The approach I tried (without coding) was to create a table containing the numbers 1 to 30, create a query with this table, the person id and the table containing
the 30 question; then join the numbers to the questions and change the join type to force all 30 questions/rows to display. (This is probably not clear?)
Anyway, my question is - if you were teaching someone who had no interest in coding, would my approach be reasonable/ work? Ta, Andy.
The approach I tried (without coding) was to create a table containing the numbers 1 to 30, create a query with this table, the person id and the table containing
the 30 question; then join the numbers to the questions and change the join type to force all 30 questions/rows to display. (This is probably not clear?)
Anyway, my question is - if you were teaching someone who had no interest in coding, would my approach be reasonable/ work? Ta, Andy.
"I'm here to save your life. But if I'm going to do that, I'll need total uninanonynymity." Me Myself & Irene.
-
- NewLounger
- Posts: 3
- Joined: 26 Jan 2010, 22:50
Re: Full questionniare
I had done something like this at a 'way earlier time, where it was possible for a person to chose a handful of available selections, but each persons selections would vary. Each one of the selections would become a personal record.
How I did it at the time, I think -- I created a table with the list of all possible selections (say, your 30-question questionairre), and had a "check" field as one of the fields for each record. I displayed the person's name (and key) in a parent form, and had an unbound form containing the selection list inserted (I think this is what I did). The check boxes got checked upon loading if the person already had a matching record. When a checkbox was checked or unchecked, it triggered an action to add that record to the persons "real" list of records, behind the scenes. Either that, or it was all checked and updated in one fell swoop when the form was closed, and the checkboxes in the selection table (30 questions, say) table were re-set to null.
It was a little kludgey, but it worked. There are probably easier ways, but this way it almost looked like a paper form where you checked what boxes you wanted.
Pat
How I did it at the time, I think -- I created a table with the list of all possible selections (say, your 30-question questionairre), and had a "check" field as one of the fields for each record. I displayed the person's name (and key) in a parent form, and had an unbound form containing the selection list inserted (I think this is what I did). The check boxes got checked upon loading if the person already had a matching record. When a checkbox was checked or unchecked, it triggered an action to add that record to the persons "real" list of records, behind the scenes. Either that, or it was all checked and updated in one fell swoop when the form was closed, and the checkboxes in the selection table (30 questions, say) table were re-set to null.
It was a little kludgey, but it worked. There are probably easier ways, but this way it almost looked like a paper form where you checked what boxes you wanted.
Pat
-
- Administrator
- Posts: 78532
- Joined: 16 Jan 2010, 00:14
- Status: Microsoft MVP
- Location: Wageningen, The Netherlands
Re: Full questionniare
I don't think your method would create the records, so it probably won't work.
Best wishes,
Hans
Hans
-
- SilverLounger
- Posts: 2403
- Joined: 05 Feb 2010, 22:21
- Location: London ENGLAND
Re: Full questionniare
You're probably right, as usual.. I set it up earlier in the day but never tested supplying an answer to a question.
Perhaps my (non-code) method is only useful as the basis for a report; it will list all questions even though they didn't respond to them all? Andy.
Perhaps my (non-code) method is only useful as the basis for a report; it will list all questions even though they didn't respond to them all? Andy.
"I'm here to save your life. But if I'm going to do that, I'll need total uninanonynymity." Me Myself & Irene.
-
- Administrator
- Posts: 78532
- Joined: 16 Jan 2010, 00:14
- Status: Microsoft MVP
- Location: Wageningen, The Netherlands
Re: Full questionniare
Yes, you can use that for display purposes, as in a report.
Best wishes,
Hans
Hans