Cuál es la mejor forma de poner imagen en un formulario.

Tengo un campo foto en la tabla trabajadores, cuál es la mejor forma para la base de datos de poner la foto a cada uno de los registros, desde un formulario.

Tipo de campo etc...

2 Respuestas

Respuesta
1

Lo mejor, en mi opinión, es que almacenes en un campo texto el nombre y extensión de la foto, y luego en el formulario la cargues, en un control de imagen, con esos datos del campo texto.

Te pongo un enlace a un ejemplo de Neckkito, y ahora te busco uno que tengo yo:

http://siliconproject.com.ar/neckkito/index.php/component/content/article/93-ejemplos-explicados/ejemplos-de-formularios/166-imagenes-en-formulario 

Este es el archivo: http://www.mediafire.com/download/bo1lrdaiu2u3113/TE-Dariel.Fotos.rar 

El ejemplo sólo guarda el nombre y extensión, porque todas las imágenes van a estar en la misma carpeta. Podrías guardar en el campo (aumentando su tamaño) la ruta completa, si las tienes en distintos sitios.

Además, le puedes añadir un botón para eliminar la foto, que tendrá que hacer lo siguiente:

1º/ Borrar la imagen del control, para eso usa: Me.NombreControl.Picture=""

2º/ Borrar la imagen del cuadro de texto: aquí tienes varias opciones: borrar el valor del cuadro oculto del formulario, usar una SQL o un recordset para modificar el registro.

Gracias.. me gusta más tu ejemplo, pero al pinchar el boton para seleccionar la foto en tu base de datos para probarla me tira para el VB y me dice:

No se ha definido el tipo definido por el usuario..

lo anlalicé a ver si había que configurarle la ruta o algo, pero vero que la toma por defecto donde está la bd.. así que ni idea.. que será???

Sí, se me olvidó comentarte que tienes que registra esta librería en las referencias del editor de VBA:

“Microsoft Office xx.x Object Library” (xx. X dependerá de la versión de Office que tengas instalada)

Ya lo active para tu proyecto y nada.. mismo error.. trabajo con 64bit alguna ves ley que para algunas cosas es relevante el dato..

Registra esta otra librería: Microsoft Scripting Library

Respuesta
2

Si son pocas fotos las puedes poner en la tabla Trabajadores como un campo OLE. Pero si son muchas fotos, te aconsejaría poner en la tabla Trabajadores el campo Foto como Texto. Puestos a suponer, supongamos que las fotos están en la carpeta FotosTrabajadores de la Carpeta Documentos, y que las diferentes fotos son Pepe.jpg, Luis.jpg, Carlos.jpg.

En el campo Foto de la tabla en cada registro escribe Pepe, Luis y Carlos.

En el formulario crea un control Imagen y en sus propiedades -Solapa Otras llámale ImagenFoto.

En la Propiedad Al activar Registro del formulario, entre Private Sub y End Sub escribe

If Not IsNull(Me.Foto) Then

   Me.ImagenFoto.Picture = "c:\users\cabarcos\documents\borrar\" & [Foto] & ".jpg" 

Else

    Me.ImagenFoto.Picture = ""

End If

Lo de c:\users...es donde tengo las fotografías de practicas. Tu tienes que poner la ruta donde tienes la carpeta, Deja lo de"&[foto]&". jpg".

Asi cuando abras el formulario y ese trabajador tenga foto te aparecerá, y si no tienes, pues nada,

Le estas diciende que la imagen a presentar es la de esa ruta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas