If anidado error else sin if

Me da este error [Else sin If] en access 2017 VBA y no se donde esta mal. Agradecería me ayudéis.

Private Sub Importe_Curso_AfterUpdate()

If (Formularios![FormAlumnosActuales]![Unidad Familiar] = "1") Then txtImpMensual.Value = (([ImporteCurso] - 150) / 9)

ElseIf (Formularios![FormAlumnosActuales]![Unidad Familiar] = "2") Then txtImpMensual.Value = ((([ImporteCurso] - 150) / 9) * 0.8)

Else: txtImpMensual.Value = ((([ImporteCurso] - 150) / 9) * 0.7)

End If
End Sub

1 Respuesta

Respuesta
2

Pon ésta línea en dos, sin los dos puntos

Else: txtImpMensual.Value = ((([ImporteCurso] - 150) / 9) * 0.7)

Pásala a

Else

Me.txtImpMensual.Value = ((([ImporteCurso] - 150) / 9) * 0.7)

Supongo que txtImpMensual es un cuadro de Texto del Formulario. Un saludo >> Jacinto

Hola Jacinto,

muchas gracias, pero no ha funcionado,

txtImporteMensual es un cuadro de texto el formulario

No obstante mi respuesta anterior, te comento que en mi caso y por costumbre, siempre salto de línea después de un Then, de modo que tu código completo quedaría.

Private Sub Importe_Curso_AfterUpdate()
If (Formularios![FormAlumnosActuales]![Unidad Familiar] = "1") Then 
Me.txtImpMensual.Value = (([ImporteCurso] - 150) / 9)
ElseIf (Formularios![FormAlumnosActuales]![Unidad Familiar] = "2") Then
Me.txtImpMensual.Value = ((([ImporteCurso] - 150) / 9) * 0.8)
Else
Me.txtImpMensual.Value = ((([ImporteCurso] - 150) / 9) * 0.7)
End If
End Sub

Que error te dá ahora. ¿Es el mismo?

Te lo comento porque ahí veo "1" y "2", que si son valores Numéricos van sin comillas

Y otro tema es el nombre de los Objetos, en el que ahora reparo.

Formularios!FormAlumnosActuales![Unidad Familiar], yo pondría

Forms!FormAlumnosActuales.Form.[Unidad Familiar], y si además ese Formulario es el de trabajo, simplemente Me.[Unidad Familiar]

Un saludo >> Jacinto

Mil Gracias, 

me da un error que creo es porque no están bien escritos los campos. voy a revisar y te digo.

Hola, he revisado los campos y están bien.

Ahora me da el error de que no ha encontrado el dato miembro en [ ImporteCurso]

Tengo un Formulario con los datos del alumno donde esta la unidad familiar y un subformulario matriculas donde estoy intentando calcular el precio ...

Muchas gracias por todo

Si el [ImporteCurso] lo tienes como dato del SubFormulario, es:

Me. ImporteCurso

Y si lo tienes en el Principal

Me. ParentImporteCurso

No obstante, algo raro hay, porque leo >> Importe_Curso_AfterUpdate, si fuera así que tengas un Nombre separado lo has de poner entre corchetes >> [Importe Curso]

Un saludo >> Jacinto

Listo!!! tenia mal escrito un campo. 

Un millón de gracias por tu ayuda

Hola,

Ahora necesito guardar ese resultado en el campo ImporteMensual de ese mismo formulario, pero cada vez que cambio de alumno, se mantiene el ultimo dato calculado

no cambia al cambiar de registro

Ahora me has despistado un poco.

Si al ir recorriendo los alumnos con el Formulario Principal, no te cambian los datos del SubFormulario, casi seguro que no lo tienes vinculado,

Has de hacerlo con un Identificador inconfundible, que en la Tabla de Alumnos no esté repetido y esté en la Tabla de Matriculas, repetido o no.

Para vincular el Subformulario:

Abre el conjunto en vista de diseño. Pulsa sobre el cuadro externo del SubForm >> Propiedades >> Datos >> Vinculos Principales >> Eliges el Identificador que te comentaba arriba, y en Vinculos Secundarios, el de la Tabla de Matriculas.

Si quieres ver la estructura, bájate la BD Neptuno de la cabecera, de ésta Página>>

Cuando la abras, pulsa en Pedidos, y mira el Formulario en vista de diseño. Saludos >> Jacinto

No me he explicado bien.

los datos del subformulario pasan correctamente al cambiar de alumno en el formulario principal, pero el valor del datos que acabo de calcular no se guarda en la tabla matriculas y se mantiene el ultimo calculo realizado en todos los alumnos igual.

Muchas gracias, 

Lo más adecuado sería disponer de tu BD, para ver la anomalía directamente, pero como observo que puede haber datos personales y/o confidenciales, mira si puedes poner una figura tal como la que te muestro.

Si es que no tienes esos datos de tipo privado que te comentaba, me puedes enviar la BD a [email protected]

Un saludo >> Jacinto

¡Gracias! 

Un millón de gracias. si, tengo datos personales...

de todas formas estaba mal conectada por el campo principal, al cambiar los nombres de los campos me van quedando restos anteriores...

Muchas gracias por tu ayuda.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas