Está en la página 1de 2

Public Sub subPictograma(tipoPeligro As Variant)

'Si no hay valor sale del procedimiento


If IsNull(tipoPeligro) Then
Forms!Form1.img1.Visible = False
Forms!Form1.img2.Visible = False
Else
Select Case tipoPeligro
'Si el valor es "corrosivo"
Case "Corrosivo"
'Asignamos la imagen correspondiente
Forms!Form1.img1.Picture = "D:\Pictos\Corrosivo.jpg"
'Hacemos visible la imagen
Forms!Form1.img1.Visible = True
'Si img2 ha quedado visible la oculta
'porque no es necesaria
Forms!Form1.img2.Visible = False
'Si el valor es "muerte" y necesita dos pictogramas
Case "Muerte"
'Asignamos la imagen al primer cuadro de imagen
'y lo hacemos visible
Forms!Form1.img1.Picture = "D:\Pictos\Muerte.jpg"
Forms!Form1.img1.Visible = True
'Asignamos la imagen al segundo cuadro de imagen
'y lo hacemos visible
Forms!Form1.img2.Picture = "D:\Pictos\Corrosivo.jpg"
Forms!Form1.img2.Visible = True
'Si no se encuentra el valor avisa ysale del procedimiento
Case Else
MsgBox "No hay pictograma para este tipo de peligro"
Forms!Form1.img1.Visible = False
Forms!Form1.img2.Visible = False
Forms!Form1.[Nombre].SetFocus
Exit Sub
End Select
End If
End Sub
---
En definitiva, tú solo tendrás que escribir, siempre por encima de "Case Else" (y adaptarlo a
una o dos imágenes, según el ejemplo que te he puesto):
Case "Tu valor"
Forms!Form1.img1.Picture = "Ruta pictograma"
Forms!Form1.Visible = True
Etc.
Puedes guardar el módulo con el nombre que te sale por defecto
D) Volvemos al formulario en vista diseño
Nos volvemos al formulario en vista diseño. Necesitamos ahora un código en los controles que
nos llame al procedimiento. Para ello
1.- Seleccionamos el campo "Tipo de peligro". Sacamos sus propiedades y en el evento
"Después de actualizar" le escribes este código:
---
Private Sub Tipo_de_peligro_AfterUpdate()
Dim tipoPeligro As Variant
tipoPeligro = Me.[Tipo de peligro].Value
Call subPictograma(tipoPeligro)
End Sub
---
2.- Ahora sacamos las propiedades del formulario y en el evento "Al activar registro" le copias
este código:
---
Private Sub Form_Current()
Dim tipoDanger As Variant
tipoDanger = Me.[Tipo de peligro].Value
Call subPictograma(tipoDanger)
End Sub
---
Y eso es todo. Ánimo, a ver si te sale. Si no me lo comentas y veremos cómo arreglarlo.

También podría gustarte