Problema en código para traer datos de un cuadro combinado a un campo de texto

Hola estimados expertos, mi problema es, que tengo un cuadro combinado con varias columnas, y según sea el valor de otro cuadro combinado, quiero que en un cudaro de texto aparezca un valor u otro de las diferentes columnas del primer campo combinado. Logré que lo hiciera, pero no se porque, no me lo hace con la tercera opción. Os paso el código que tengo puesto en el evento "después de actualizar".


Private Sub Producto_AfterUpdate()
If Me.Parent![Comercio] = 1 Then
Me![Precio Unidad] = Me![Producto].Column(3)
ElseIf Me.Parent![Comercio] = 2 Then
Me![Precio Unidad] = Me![Producto].Column(4)
ElseIf Me.Parent![Comercio] = 2 Then
Me![Precio Unidad] = Me![Producto].Column(5)
End If
End Sub


Gracias de antemano

1 respuesta

Respuesta
1

Cuando se tienen varias opciones, es mejor utilizar Select Case ... end Select que If ... end if

sería de la forma:

Select Case Me.Parent![Comercio]

Case 1

Me![Precio Unidad] = Me![Producto].Column(3)

case 2

Me![Precio Unidad] = Me![Producto].Column(4)

case 3

Me![Precio Unidad] = Me![Producto].Column(5)

End Select

Saludos, Angeles

*** en la 3ª opción, tienes el mismo valor que en la 2ª

Private Sub Producto_AfterUpdate()

If Me.Parent![Comercio] = 1 Then

Me![Precio Unidad] = Me![Producto].Column(3)

ElseIf Me.Parent![Comercio] = 2 Then

Me![Precio Unidad] = Me![Producto].Column(4)

Else

If Me.Parent![Comercio] = 2

Then Me![Precio Unidad] = Me![Producto].Column(5)

End If

End Sub

Página supuestos y soluciones en access: http://angelessebas.es/

Gracias por tu ayuda,si tenias razón me equivoque al escribir el código aquí, y tenia en el tercer caso, puesto el numero 2. Lo hice como me dijiste y me funciona perfectamente.

Muchas gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas