Access - Imagenes en formularios

 
Vista:

Imagenes en formularios

Publicado por santiago (35 intervenciones) el 26/10/2002 20:37:13
El problema es el siguiente: Tengo una base de datos con 3000 registros, hay un formulario que muestra cada registro con su foto, el lio es que estoy utilizando un objeto OLE para incrustar la foto y no tengo ni idea de como funciona esto.

1- La insercion de datos la hago desde un formulario no vinculado, mediante una consulta del tipo addNew ---------> Campo del recordset = Campo del formulario ---------> Update., Esta consulta no guarda el objeto ole (que incrusto en el campo correspondiente), lo deja en blanco, y no se como hacerlo. Sin embargo, en el formulario de modificacion, que si es vinculado, si que guarda los cambios; el método que utilizo aquí (me parece que es bastante primario, si alguien sabe alguno mejor le rogaria que me lo explique...) es el siguiente: Sobre el campo imagen del formulario de actualización se pulsa el boton derecho del ratón y se selecciona insertar objeto-->desde archivo-->Seleccionar y se selecciona la imagen.

2- El segundo problema es casi más grave: Si incrusto un objeto ole para cada registro, el peso de la tabla se dispara y, teniendo 3000 registros, que probablemente crezcan, la cosa puede llegar a hacerse inmanejable, sobre todo si pensamos que la gente que vaya a usar la base da datos no se va a preocupar excesivamente por el peso o tamaño de las imágenes... así que la pregunta es: ¿Se puede enlazar una imagen a un registro que se muestra en un formulario de otro modo que no sea mediante un objeto OLE, por ejemplo mediate un vínculo a la imagen que está en un directorio?, si no ¿Que puedo hacer?

Mil 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

RE:Imagenes en formularios

Publicado por Victoria (1530 intervenciones) el 26/10/2002 20:52:12
Hola, en el cuadro que te sale para la foto, botón derecho, tienes abajo, al lado del botón Examinar, una opción para Vincular, de esta forma la imagen NO se almacena en tu base de datos y se acaba tu problema de peso
Victoria
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

RE:Imagenes en formularios

Publicado por Santiago (35 intervenciones) el 26/10/2002 21:31:03
Vale, esto me soluciona la mitad del problema, lo he probado y va bien, pero me sigue fallando el tema de la insercion de imágenes desde el formulario no vinculado. ¿Sabes que puedes estar pasando?

Mil gracias
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

RE:Imagenes en formularios

Publicado por Pancho (149 intervenciones) el 29/10/2002 00:22:37
Hola
He aqui una solucion que automatiza el proceso de incrustado:

Dim sFoto as string
sFoto = "C:\Mis Imagenes\FOTO.BMP"
' * Verifica que la foto exista, de no existir no hace nada
If Len(Dir(sFoto)) > 0 Then
' * Para poder usar el campo desbloqueamos
Me.FOTO.Locked = False
' * No hay OLE Incrustado?
If Me.FOTO.OLEType = acOLENone Then
' *Si vas a usar solo BMP o PCX no hace llamar la clase indicada
' *en la siguiente linea, en cambio para usar JPG o GIF debes
' *usar la clase correspondiente por ejemplo Photo Edit
' *Me.FOTO.Class = "Paint.Picture"
' * Apuntamos a la imagen
Me.FOTO.SourceDoc = sFoto
' * Le decimos que es incrustado
Me.FOTO.OLETypeAllowed = acOLEEmbedded
' * Actualizamos nuestro campo
Me.FOTO.Action = acOLECreateEmbed
Else
' * El campo tiene un OLE que ha sido creado antes
' * Esto es util si tienes una foto mas reciente que quieras
' * actualizar en tu base de datos
Me.FOTO.SourceDoc = sFoto
' * Entonces solo actualizamos la imagen
Me.FOTO.Action = acOLEUpdate
End If
' * Bloqueamos para no editarlo con el boton derecho del raton
Me.FOTO_CARNET.Locked = True
End If

Este proceso lo incluyes por ejemplo en un evento como AlActivarRegistro()o en un boton personalizado o donde tu creas conveniente

Espero que te sirva el ejemplo

Saludos
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