2017-07-01 2 views
0

Dans MS Access 2003 J'ai un rapport avec 4 scénarios possiblesMS Access 2003 Est-il possible d'obtenir le résultat suivant dans le rapport?

scénario 1.possible: Si (Me.Ocjena1 = 2 ou 3 ou 4 ou 5) et (Me.Ocjena2 = 1) et IsNull (Me.Ocjena3) Alors Me.Konacna_ocjena = 1 End If

scénario 2.possible Si (Me.Ocjena1 = 2 ou 3 ou 4 ou 5) et (Me.Ocjena2 = 2 ou 3 ou 4 ou 5) Et IsNull (Me.Ocjena3) Puis Me.Konacna_ocjena = (Me.Ocjena1 + Me.Ocjena2)/2 Fin Si

scénario 3.possible Si (Me.Ocjena1 = 2 ou 3 ou 4 ou 5) et l (Me.Ocjena3 = 1) et (Me.Ocjena3 = 2 ou 3 ou 4 ou 5) Ensuite moi. Konacna_ocjena = (me.Ocjena1 + me.Ocjena3)/3 End If

scénario 4.possible Si (Me.Ocjena1 = 2 ou 3 ou 4 ou 5) et IsNull (Me.Ocjena2) Et IsNull (Me .Ocjena3) Alors Me.Konacna_ocjena = Me.Ocjena1 End If

Parfois est inclus tous les 4 scénarios. Avec ce code, travaillez max 2 scénarios mais 2 repos ne fonctionne pas ... Où est-ce que je me trompe?

+0

Afficher le reste de votre code afin qu'il soit compréhensible que vous voulez dire. –

Répondre

1

aurait à répéter le champ conditionnel, comme:
(Me.Ocjena1 = 2 Or Me.Ocjena1 = 3 Or Me.Ocjena1 = 4 Or Me.Ocjena1 = 5)

Tenir compte:

With Me 
If .Ocjena1 > 1 And .Ocjena1 < 6 Then 
    If .Ocjena2 = 1 And IsNull(.Ocjena3) Then 
     .Konacna_ocjena = 1 
    ElseIf .Ocjena2 > 1 And .Ocjena2 < 6 And IsNull(.Ocjena3) Then 
     .Konacna_ocjena = (.Ocjena1 + .Ocjena2)/2 
    ElseIf .Ocjena2 = 1 And .Ocjena3 > 1 And .Ocjena3 < 6 Then 
     .Konacna_ocjena = (.Ocjena1 + .Ocjena3)/3 
    ElseIf IsNull(.Ocjena2) And IsNull(.Ocjena3) Then 
     .Konacna_ocjena = .Ocjena1 
End If 
End With