Form data entry

  • Thread starter shangman via AccessMonster.com
  • Start date
S

shangman via AccessMonster.com

I have a form which employees enter data answering questions using a scoring
system (0-3). The form has 5 sections. What i would for it to do is after
they have complete sections 1 - 4 and begin to score section five is to limit
their scoring entries base on the previous enteries. For example, section # 1
has a total of 6 questions, when all 6 questions are scored the section is
then given an average score, lets say it is 2. When they begin to score
section 5 i want this section be limited to 2 or less. Same as if the average
is 1, then they would be limited to 1 or 0. Reason being, is based on what
they scored for section one the scores for section 5 should not be more than
the average. This is an audit that they completed, and i am having problems
with the top four sections getting a low score and the last section scoring
high, this shouldn't be the case. So i would like to restrict the data
entries based on previous enteries. The form is set up with 47 questions,
after the audit is complete they save the entries. These enteries are then
stored for future data such as graphs, charts etc. I know i haven't posted
anything on how the forms codes are and such but i am looking for some help
on how to do this. The scoring selection uses combo boxes with validations
rules so the score cannot be more than 3. If more info is needed please post
and i will provide info as needed. Thanks in advance for the help.
 
T

Tom van Stiphout

On Tue, 05 Jan 2010 20:59:25 GMT, "shangman via AccessMonster.com"

If I got you correctly, you want the answer in a dropdown in section 5
to be no less than the average in section 1.

One possible solution is to not populate the section5 dropdowns until
section1 has been completed. Once completed, only populate those
dropdowns with the values up to the average.

Another possible solution is to write code in the BeforeUpdate event
of the section5 dropdowns (assuming they are still populated with 0-3)
to validate the answer. Something like this one-liner:
Cancel = Me.mySection5Combobox.Value > myGetAverageOfSection1()
(of course you use yourObjectNames rather than mine)
The trick here is that Cancel is set to True if the value is more than
the average, which forces the user to select a different value.

-Tom.
Microsoft Access MVP
 
S

shangman via AccessMonster.com

What if i already have a code in the beforeupdate event (shown below) for
each of the drop downs in section 5
example: Private Sub WK36_BeforeUpdate(Cancel As Integer)
If IsNull(Me.wk36) Then
MsgBox "Rating is required for question # 1.", vbCritical, "Data entry
error"
Cancel = True
End If
Can i also use the cancel code you suggested?
Also data entry for each question for section 5 varies depending on what they
scored in the above four sections. To explain futher, the questions in
section five pertain to what was answered in either all or some of the above
sections. Sections 1 -4 each have a totaled average. I want the drop down
selection in section 5 (for each answer) based on what was scored for section
1 or section 2 and so on. Each one of the questions in # 5 will either
pertain one or some of these above sections. To put in a nut shell, when i go
to score question 1 in section 5 i want the system to look at the average
(lets say this question pertains to section 1 avg score) and if it is 2 then
they only have a drop down selection of 2 - 0. If it avg was 1 then they
would only be able to choose 1 or 0. Hope this explains it better.
If I got you correctly, you want the answer in a dropdown in section 5
to be no less than the average in section 1.

One possible solution is to not populate the section5 dropdowns until
section1 has been completed. Once completed, only populate those
dropdowns with the values up to the average.

Another possible solution is to write code in the BeforeUpdate event
of the section5 dropdowns (assuming they are still populated with 0-3)
to validate the answer. Something like this one-liner:
Cancel = Me.mySection5Combobox.Value > myGetAverageOfSection1()
(of course you use yourObjectNames rather than mine)
The trick here is that Cancel is set to True if the value is more than
the average, which forces the user to select a different value.

-Tom.
Microsoft Access MVP
I have a form which employees enter data answering questions using a scoring
system (0-3). The form has 5 sections. What i would for it to do is after
[quoted text clipped - 15 lines]
rules so the score cannot be more than 3. If more info is needed please post
and i will provide info as needed. Thanks in advance for the help.
 
T

Tom van Stiphout

On Wed, 06 Jan 2010 11:59:00 GMT, "shangman via AccessMonster.com"

Hi shangman,
I apologise if this is an unsatisfactory answer, but I really think
you need the help of a professional developer. That's what your
questions are indicating. This forum can give you hints in the right
direction but cannot write the code for you.
"Microsoft Solution Provider" in your yellow pages may be a good place
to start.

-Tom.
Microsoft Access MVP

What if i already have a code in the beforeupdate event (shown below) for
each of the drop downs in section 5
example: Private Sub WK36_BeforeUpdate(Cancel As Integer)
If IsNull(Me.wk36) Then
MsgBox "Rating is required for question # 1.", vbCritical, "Data entry
error"
Cancel = True
End If
Can i also use the cancel code you suggested?
Also data entry for each question for section 5 varies depending on what they
scored in the above four sections. To explain futher, the questions in
section five pertain to what was answered in either all or some of the above
sections. Sections 1 -4 each have a totaled average. I want the drop down
selection in section 5 (for each answer) based on what was scored for section
1 or section 2 and so on. Each one of the questions in # 5 will either
pertain one or some of these above sections. To put in a nut shell, when i go
to score question 1 in section 5 i want the system to look at the average
(lets say this question pertains to section 1 avg score) and if it is 2 then
they only have a drop down selection of 2 - 0. If it avg was 1 then they
would only be able to choose 1 or 0. Hope this explains it better.
If I got you correctly, you want the answer in a dropdown in section 5
to be no less than the average in section 1.

One possible solution is to not populate the section5 dropdowns until
section1 has been completed. Once completed, only populate those
dropdowns with the values up to the average.

Another possible solution is to write code in the BeforeUpdate event
of the section5 dropdowns (assuming they are still populated with 0-3)
to validate the answer. Something like this one-liner:
Cancel = Me.mySection5Combobox.Value > myGetAverageOfSection1()
(of course you use yourObjectNames rather than mine)
The trick here is that Cancel is set to True if the value is more than
the average, which forces the user to select a different value.

-Tom.
Microsoft Access MVP
I have a form which employees enter data answering questions using a scoring
system (0-3). The form has 5 sections. What i would for it to do is after
[quoted text clipped - 15 lines]
rules so the score cannot be more than 3. If more info is needed please post
and i will provide info as needed. Thanks in advance for the help.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top