Mostrar imagen en en formulario dependiendo el valor de un campo access

Yo tengo un formulario en access donde me pide seleccionar el banco y lo que quiero es que dependiendo del banco seleccionado me jale la foto de ese banco y me la muestre en el formulario

2 Respuestas

Respuesta
1

1. Supongamos que tiene esta tabla: tblbancos con los siguientes campos

Idbanco banco imagen

1 Banco A C:\ImagenesBancos\bancoA.png
2 Banco B C:\ImagenesBancos\bancoB.jpg
3 Banco C C:\ImagenesBancos\bancoC.bmp

2. Agregar un control de imagen en el formulario

Abre el formulario en Vista de Diseño.
Agregue un Control de Imagen y nómbrelo imgBanco.
Agregue un Cuadro de texto oculto llamado txtRutaImagen

3. Código VBA para mostrar la imagen

Para cargar la imagen cuando el usuario seleccione un banco en el combo cmbBanco, usa el siguiente código:

Private Sub cmbBanco_AfterUpdate()
    Dim rutaImagen As String
    ' Obtener la ruta de la imagen desde la tabla
    rutaImagen = Nz(DLookup("Imagen", "tblBancos", "idBanco=" & Me.cmbBanco), "")
    ' Si la ruta es válida, mostrar la imagen
    If rutaImagen <> "" And Dir(rutaImagen) <> "" Then
        Me.imgBanco.Picture = rutaImagen
        Me.txtRutaImagen.Value = rutaImagen
    Else
        ' Imagen por defecto si no hay imagen en la tabla
        Me.imgBanco.Picture = "C:\ImagenesBancos\sin_imagen.png"
    End If
End Sub

4. Código VBA para seleccionar una imagen con CommonDialog

Agregue un botón llamado btnSeleccionarImagen y use este código para abrir el cuadro de diálogo y actualizar la base de datos:

Private Sub btnSeleccionarImagen_Click()
    Dim dlg As Object
    Dim rutaImagen As String
    ' Crear un cuadro de diálogo para seleccionar la imagen
    Set dlg = Application.FileDialog(3) ' 3 = File Picker
    With dlg
        .Title = "Seleccionar Imagen"
        .Filters.Clear
        .Filters.Add "Imágenes", "*.jpg; *.png; *.bmp; *.gif"
        .AllowMultiSelect = False
        If .Show Then
            rutaImagen = .SelectedItems(1)
            ' Guardar la ruta en la base de datos
            CurrentDb.Execute "UPDATE tblBancos SET Imagen='" & rutaImagen & "' WHERE idBanco=" & Me.cmbBanco
            ' Mostrar la nueva imagen en el formulario
            Me.imgBanco.Picture = rutaImagen
            Me.txtRutaImagen.Value = rutaImagen
        End If
    End With
    Set dlg = Nothing
End Sub

5. Mostrar la imagen al abrir el formulario

Para que la imagen se cargue automáticamente según el banco seleccionado al abrir el formulario:

Private Sub Form_Current()
    Call cmbBanco_AfterUpdate
End Sub

Guardar solo la ruta de la imagen en la tabla es más eficiente y recomendado.
La función Application. FileDialog(3) funciona en Access 2003 en adelante.

Esto es una idea.

ósea la tabla bancos tendría que tener un campo de texto donde tandria que poner la ruta de la imagen 

Es correcto

Respuesta

I. Hola Andri, en mi caso desconozco la respuesta y no soy usuario habitual de Access pero ví una información que deseaba trasladarle en forma de foros y sitios web por si pudiesen serle de alguna utilidad mientras le atiende un experto de primera mano. Le ruego me disculpe todas las molestias de tanta lectura y el tipo de respuesta, ánimo.


¿Cómo puedo ver imágenes en un formulario de access 2010 según el contenido de un campo?

Imagen según valor de un campo

Imagen visible en informe, a condición del valor de un campo

Hacer visible una imagen en un formulario en función de un campo

Imagen en informe de Access condicionada

Ocultar-mostrar varios campos en formulario según valor

https://www-experts--exchange-com.translate.goog/questions/28955196/How-To-Display-a-Conditional-Image-in-a-Microsoft-Access-Report.html?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc&_x_tr_hist=true 

https://www-accessforums-net.translate.goog/showthread.php?t=69408&_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

https://www.access-programmers.co.uk/forums/threads/show-hide-an-image-depends-the-value-of-a-textbox.310133/ 

https://ask-libreoffice-org.translate.goog/t/need-to-display-a-corresponding-image-for-each-record/88799?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc&_x_tr_hist=true 

https://www.reddit.com/r/MSAccess/comments/1b0smjs/help_can_i_have_images_in_access_forms_with/ 

https://www-googlecloudcommunity-com.translate.goog/gc/AppSheet-Q-A/How-to-display-images-in-forms-according-to-the-values-selecting/m-p/383096?nobounce&_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc#M149732 

https://www-access--programmers-co-uk.translate.goog/forums/threads/show-or-hide-image-based-on-value.225383/?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas