Insertar Imagen desde un boton de un formulario Access 2007

Tengo dos base de datos una que se llama fotos y otra que es de datos

Las tablas las tengo vinculadas

Estoy desarrollando un formulario y quisiera poder insertar la imagen desde un botón y que al presionar el boton permitar buscar la imagen desde el escritorio o el disco c://

Y que se insertar en la tabla fotos y que permita ciertos tipos de extensión de imágenes

2 Respuestas

Respuesta
2

Estos dos ejemplos de Neckkito, si los combinas, consigues exactamente lo que quieres:

1º/ http://siliconproject.com.ar/neckkito/index.php/ejemplos-explicados/todos/95-ejemplos-explicados/ejemplos-de-codigo/131-quiero-navegar-y-seleccionar-un-archivo 

2º/ http://siliconproject.com.ar/neckkito/index.php/ejemplos-explicados/todos/93-ejemplos-explicados/ejemplos-de-formularios/166-imagenes-en-formulario 

En el primero puedes crear un filtro para que solo ofrezca imágenes.

Saludos!


Visítanos: http://nksvaccessolutions.com/ 

Sveinbjorn El Rojo,  Gracias maquina!! tu siempre ayudando 

un saludo 

Buenas 
Sveinbjorn El Rojo  mira intente  hacer lo que me dijiste pero no logro insertar la imagen 

te muestro mi codigo 

este es mi modulo que abre para buscar la imagen 

Public Function buscaArchivo() As String
Dim fDialog As Office.FileDialog
'Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
Set fDialog = Application.FileDialog(msoFileDialogOpen)
With fDialog
.AllowMultiSelect = False
.ButtonName = "Seleccionar"
.Title = "Seleccionar imagen "
.InitialFileName = Application.CurrentProject.Path
.InitialView = msoFileDialogViewDetails
.Filters.Clear
.Filters.Add "All Files", "*.*"
If .Show = True Then
buscaArchivo = .SelectedItems(1)
Else
MsgBox "Ha pulsado el botón <Cancelar>."
End If
End With
End Function

y este es la funcion que supuestamente le pasa el valor al campo de la imagen 

Private Sub Insertar_imagen_Click()
Dim vArchivo As String
'Asignamos el valor de la variable al archivo que seleccionemos al navegar.
'Para ello utilizamos la llamada a la función buscaArchivo
vArchivo = buscaArchivo()
'Una vez tenemos el archivo seleccionado (junto con su ruta completa) pasamos
'el valor al campo Archivo
If IsNull(vArchivo) Or vArchivo = "" Then
Exit Sub
Else
' Me.foto1.Picture = vArchivo
End If
End Sub

se ve que pega la imagen en el campo pero no la inserta en la base de dato

No te la guarda en la BD porque no se lo indicas en el código: tienes que decirle que te la guarde en el campo de texto que quieres, algo así:

...

Else
'Me.foto1.Picture = vArchivo

Me.NombreCampo=vArchivo
End If

Y para que te la muestre, haces lo indicado en el segundo ejemplo.

buenos días

si se lo indico  campo de llama foto1 que es un campo tipo ole 

pero si lo escribo sin .picture me da un error  no se por que 

' Me.foto1.Picture = vArchivo

un saludo y gracias 

Creo que no has entendido la mecánica de los ejemplos que te propuse para solucionar el problema. Básicamente la idea es almacenar en un campo de tipo texto la ruta completa(con nombre y extensión) de la imagen, lo que haces con el primer enlace, y luego cargar esa imagen en un control imagen independiente, aplicando el segundo ejemplo.

Hacerlo así tiene la ventaja de que el tamaño de tu BD no se dispara (almacenar imágenes dentro de la BD sí lo hace y puede llegar a dejarla inservible)

Hacerlo en un campo OLE imagino que se podrá igualmente, pero tendría que investigarlo igual que tu, ya que nunca los utilizo...

Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas