Access - Imagenes desbordan base de datos

   
Vista:

Imagenes desbordan base de datos

Publicado por Alejandra (1 intervención) el 11/03/2010 14:25:04
Hola amigos.

He creado una base de datos en access 2003 con la que manejo una serie de preguntas con respuestas para hacer exámenes tipo test.

Uno de los campos, como no, es un objeto OLE donde introduzco la fotografía o imagen correspondiente.

Este objeto OLE lo tengo vinculado, por lo que en teoría, la base de datos seguiría siendo todo texto, y esta base de datos no debería de crecer.

Pero la realidad es que cada vez que vinculo una fotografía, la base de datos crece en función del tamaño de esa fotografía.... y se está haciendo enorme.

Se que puede hacerse que la fotografía la busque en su directorio con su ruta y nada más, tanto en los formularios como al generar los informes (exámenes), pero no se como se hace.

¿Alguien me lo podría explicar?

Muchas 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 desbordan base de datos

Publicado por mandiolo (161 intervenciones) el 12/03/2010 04:44:01
1) La Tabla: Tabla1

Creas una tabla común y corriente, con el nombre de la foto, la descripción, etc... más 1 campo de TEXTO que tendrá la ubicación exacta del archivo, por ejemplo:
Llamremos al campo:Ubicacion (texto) y su valor será C:\Users\Marcelo\Pictures\Terremoto.jpg
Este trabajo debes dartelo y no es mayor que insertar un objetoOLE registro a registro.

2) El Formulario

Yo hice un Formulario basado en esta Tabla:Tabla1 y sus campos, para efectos estéticos te recomiendo dar la propiedad Visible=No al cuadro de texto que está asociado al campo: Ubicacion, así no se ve la dirección que estás invocando.

Crea un control del cuadro de herramientas del tipo imagen, te va apedir que selecciones una imagen, elige cualquiera. A continuación ve sus propiedades y en la propiedad Imagen borras la ubicación de la imagen que acabas de elegir, finalmente esta propiedad queda como Imagen=(ninguna), este nuevo control lo llamaremos Imagen0

3) La asignación de la imagen

Por un lado tienes el campo con la dirección que cambia a medida que avanzas con los registros (no está visible, pero ahí está) y por otro el control del tipo Imagen si origen. Crea con el asistente estos tipicos botones de comando preprogramados con el asistente, elige exploración de registros--> ir al registro siguiente, para hacer 1 botón que avance y exploración de registros--> ir al registro anterior para hacer que el botón retroceda.

Una vez que creas ambos botones intervienes cada botón en ia propiedad Al Hacer Clic, ahí se ha definido el procedimiento de evento en Visual, vamos a enriquecer este código, presiona los (...) para editar el código

'Botón adelante

Private Sub Comando2_Click()
On Error GoTo Err_Comando2_Click

DoCmd.GoToRecord , , acNext
Imagen0.Picture = Ubicacion.Value (Solo debes agregar esta línea aquí...)


Exit_Comando2_Click:
Exit Sub

Err_Comando2_Click:
MsgBox Err.Description
Resume Exit_Comando2_Click

End Sub
----------------------------------------------------------
'Botón atrás

Private Sub Comando3_Click()
On Error GoTo Err_Comando3_Click

DoCmd.GoToRecord , , acPrevious
Imagen0.Picture = Ubicacion.Value (... y aquí, lo demás se programa sólo)

Exit_Comando3_Click:
Exit Sub

Err_Comando3_Click:
MsgBox Err.Description
Resume Exit_Comando3_Click

End Sub

Hay otras formás más "elegantes" de hacerlo y perdona por lo extenso pero no sé cual es tu experiencia. Un saludo desde Viña del Mar, Chile. Cualquier duda me dices
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