gillwatkins
04-29-2008, 06:11 AM
Hi
I have a questionnaire with the following variable names:
p4_pain
p7_painseverity
c2_painscore1
c2_painscore2
c2_painscore3
c2_painscore4
c2_painscore5
All these questions can have the values 0, 1, 2, 3 or 4. Using a command button, I want to calculate one score (in field ctc_pain) that will reflect the question with the highest score. Here's what I've written:
If p4_pain = 0 Then
ctc_pain.Value = p4_pain.Value
ElseIf p7_painseverity > c2_painscore1 And p7_painseverity > c2_painscore2 And _
p7_painseverity > c2_painscore3 And p7_painseverity > c2_painscore4 And _
p7_painseverity > c2_painscore5 And p7_painseverity > p4_pain Then
ctc_pain.Value = p7_painseverity.Value
ElseIf c2_painscore1 > c2_painscore2 And c2_painscore1 > c2_painscore3 And _
c2_painscore1 > c2_painscore4 And c2_painscore1 > c2_painscore5 And _
c2_painscore1 > p7_painseverity And c2_painscore1 > p4_pain Then
ctc_pain.Value = c2_painscore1.Value
ElseIf c2_painscore2 > c2_painscore1 And c2_painscore2 > c2_painscore3 And _
c2_painscore2 > c2_painscore4 And c2_painscore2 > c2_painscore5 And _
c2_painscore2 > p7_painseverity And c2_painscore2 > p4_pain Then
ctc_pain.Value = c2_painscore2.Value
ElseIf c2_painscore3 > c2_painscore1 And c2_painscore3 > c2_painscore2 And _
c2_painscore3 > c2_painscore4 And c2_painscore3 > c2_painscore5 And _
c2_painscore3 > p7_painseverity Or c2_painscore3 > p4_pain Then
ctc_pain.Value = c2_painscore3.Value
ElseIf c2_painscore4 > c2_painscore1 And c2_painscore4 > c2_painscore2 And _
c2_painscore4 > c2_painscore3 And c2_painscore4 > c2_painscore5 And _
c2_painscore4 > p7_painseverity And c2_painscore4 > p4_pain Then
ctc_pain.Value = c2_painscore4.Value
ElseIf c2_painscore5 > c2_painscore1 And c2_painscore5 > c2_painscore2 And _
c2_painscore5 > c2_painscore3 And c2_painscore5 > c2_painscore4 And _
c2_painscore5 > p7_painseverity And c2_painscore5 > p4_pain Then
ctc_pain.Value = c2_painscore5.Value
End If
Depending on which questions have what scores, this seems to work sometimes, but not others, so I tried replacing all the And's with Or's, but had the same problem. Does anybody have any idea where I'm going wrong?
Thanks in anticipation
Gill
I have a questionnaire with the following variable names:
p4_pain
p7_painseverity
c2_painscore1
c2_painscore2
c2_painscore3
c2_painscore4
c2_painscore5
All these questions can have the values 0, 1, 2, 3 or 4. Using a command button, I want to calculate one score (in field ctc_pain) that will reflect the question with the highest score. Here's what I've written:
If p4_pain = 0 Then
ctc_pain.Value = p4_pain.Value
ElseIf p7_painseverity > c2_painscore1 And p7_painseverity > c2_painscore2 And _
p7_painseverity > c2_painscore3 And p7_painseverity > c2_painscore4 And _
p7_painseverity > c2_painscore5 And p7_painseverity > p4_pain Then
ctc_pain.Value = p7_painseverity.Value
ElseIf c2_painscore1 > c2_painscore2 And c2_painscore1 > c2_painscore3 And _
c2_painscore1 > c2_painscore4 And c2_painscore1 > c2_painscore5 And _
c2_painscore1 > p7_painseverity And c2_painscore1 > p4_pain Then
ctc_pain.Value = c2_painscore1.Value
ElseIf c2_painscore2 > c2_painscore1 And c2_painscore2 > c2_painscore3 And _
c2_painscore2 > c2_painscore4 And c2_painscore2 > c2_painscore5 And _
c2_painscore2 > p7_painseverity And c2_painscore2 > p4_pain Then
ctc_pain.Value = c2_painscore2.Value
ElseIf c2_painscore3 > c2_painscore1 And c2_painscore3 > c2_painscore2 And _
c2_painscore3 > c2_painscore4 And c2_painscore3 > c2_painscore5 And _
c2_painscore3 > p7_painseverity Or c2_painscore3 > p4_pain Then
ctc_pain.Value = c2_painscore3.Value
ElseIf c2_painscore4 > c2_painscore1 And c2_painscore4 > c2_painscore2 And _
c2_painscore4 > c2_painscore3 And c2_painscore4 > c2_painscore5 And _
c2_painscore4 > p7_painseverity And c2_painscore4 > p4_pain Then
ctc_pain.Value = c2_painscore4.Value
ElseIf c2_painscore5 > c2_painscore1 And c2_painscore5 > c2_painscore2 And _
c2_painscore5 > c2_painscore3 And c2_painscore5 > c2_painscore4 And _
c2_painscore5 > p7_painseverity And c2_painscore5 > p4_pain Then
ctc_pain.Value = c2_painscore5.Value
End If
Depending on which questions have what scores, this seems to work sometimes, but not others, so I tried replacing all the And's with Or's, but had the same problem. Does anybody have any idea where I'm going wrong?
Thanks in anticipation
Gill