Access - Abrir Formulario dependiendo de valor en Marco

   
Vista:

Abrir Formulario dependiendo de valor en Marco

Publicado por José Maria (134 intervenciones) el 28/07/2015 12:13:42
Buenos días,

He creado un Marco el cual tiene 2 casillas de verificación:

VCliente cuyo valor es 1

CAsegurado cuyo valor es 2

Dependiendo de lo que marques quiero poner un boton que me abra el formulario dependiendo de si es cliente o asegurado.

He puesto lo siguiente pero no sé porque no funciona:


Private Sub cmdNuevaFactura_Click()


If Me.Vcliente = 1 Then

DoCmd.OpenForm "Factura_Cliente", acNormal, , , acFormAdd

ElseIf Me.Vasegurado = 2 Then

DoCmd.OpenForm " Factura_Asegurado", acNormal, , , acFormAdd


End If

End Sub




Me sale error: he expecificado un expresion que no tiene valor.............

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Abrir Formulario dependiendo de valor en Marco

Publicado por Enrique Heliodoro (1663 intervenciones) el 28/07/2015 13:25:58
Un ligero error conceptual.

Si el grupo de opciones (conocido como 'marco') es el objeto, su contenido no es referenciable como objeto en si, los valores los tomara el Marco (no la casilla de verificación).

Normalmente se acostumbra a utilizar un Select Case, porque solo evaluara una vez, el IF (y mas tal como ha sido planteado) verificara TODAS las opciones posibles.

Esto también funcionaria de forma correcta:

IF me.[nombre del marco] = 1 Then DoCmd.OpenForm "Factura_Cliente", acNormal, , , acFormAdd
IF me.[nombre del marco] = 2 Then DoCmd.OpenForm " Factura_Asegurado", acNormal, , , acFormAdd

Planteado como un verdadero/Falso (es factible, porque solo hay dos alternativas) solo se evaluaría una única vez:

IF me.[nombre del marco] = 1 Then
DoCmd.OpenForm "Factura_Cliente", acNormal, , , acFormAdd
Else
DoCmd.OpenForm " Factura_Asegurado", acNormal, , , acFormAdd
End IF

La forma 'elegante' y que permite crecer:

Select Case me.[nombre del marco]
Case 1
DoCmd.OpenForm "Factura_Cliente", acNormal, , , acFormAdd
Case 2
DoCmd.OpenForm " Factura_Asegurado", acNormal, , , acFormAdd
Case Else
MsgBox "Seleccione una opción"
End Select
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Abrir Formulario dependiendo de valor en Marco

Publicado por José Maria (134 intervenciones) el 28/07/2015 13:44:39
No te doy más votos porque no sé puede.

Elegante, Funcional, Fácil y Funcionando!!!

Muchísimas Gracias por la lección Maestro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar