Access Error Block If without End if

mensaje de error "Block If without End if". Se trata de un combo llamado Clase que al elegir el tipo de clase me debe abrir el informe correspondiente elegido.

Private Sub Informe_Click ()

If Me.Clase = "A" Then

Docmd.OpenReport "ClaseA", acViewPreview

If Me.Idioma = "B" Then

Docmd.OpenReport "ClaseB", acViewPreview

End if

End Sub

3 respuestas

Respuesta
2

Pues el título te lo dice todo. A cada if hay que "cerrarlo" con un if. Y en el código tienes dos If pero sólo un End Id. La solución

1º O al final de la primerá sentencia le pones un end if

2º O usas

if clase="A" then

docmd.open-----

elseif clase="B" then

docmd.open....

end if

Puedes encadenar los elseif que quieras

3º En tu caso, que solo hay dos posibilidades, pondría

If clase ="A" then

docmd.openreport....

else

docmd.openreport"ClaseB"....

end if

Respuesta
1
Private Sub Informe_Click ()
If Me.Clase = "A" Then
Docmd.OpenReport "ClaseA", acViewPreview
ElseIf Me.Idioma = "B" Then
Docmd.OpenReport "ClaseB", acViewPreview
End if
End Sub

Asi intenta

Muchas gracias he resuelto el problema!

Bien

Respuesta
1

recuerda que la sentencia de If... tal cosa, then.... sucede esto.... End If (Debes cerrar el If)  Veo que tienes dos If abiertos, debes cerrar el segundo con End If.  Otro comentario, recomendaría usar el Else.  Por ejemplo: 

If A > 7 And B < 5 Then

    MsgBox ("A es mayor que 7 y B menor que 5")

Else

    MsgBox ("A no es mayor que 7 ó B no es menor que 5")

End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas