La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Access/1193670-cargar-fotos-en-access2007.html

cargar fotos en access2007

cargar fotos en access2007

Publicado por David (24 intervenciones) el 31/03/2010 17:25:36
Hola buenos dias, estoy haciendo un progrma en el que se pueden introducir fotos en formato jpg en un formulario. Al introducir una foto esta se queda en un recuadro destinado a dicha imagen y a la vez se carga en otro formulario. El problema que tengo es que sí se carga en el formulario actual pero no en el otro, y me dice que no encuientra el formulario para cargar la imagen en dicho formulario. Os pongo el codigo por si me podeis ayudar


Private Sub Comando77_Click()
Me.RUTAFOTO = EscogeFichero(2)
RutaFoto_AfterUpdate
End Sub
Private Sub Form_Current()
RutaFoto_AfterUpdate
End Sub
Private Sub RutaFoto_AfterUpdate()
If Not IsNull(RUTAFOTO) Then
Imagen79.Picture = RUTAFOTO
Forms!AAA!Imagen37.Picture = RUTAFOTO (aqui me dice que no encuentra el form AAA)
Else
Imagen79.Picture = ""
Forms!AAA!Imagen37.Picture = ""
End If
End Sub

gracias

RE:cargar fotos en access2007

Publicado por Juan M. Afan de Ribera (16 intervenciones) el 31/03/2010 17:57:30
Hola,

primero de todo, el formulario "AAA" tiene que estar abierto. Una vez te asegures de ello, yo cambiaría esto:

Forms!AAA!Imagen37.Picture = RUTAFOTO

por esto otro:

Forms("AAA").Imagen37.Picture = RUTAFOTO

a ver si así te funciona...

Saludos,
Juan M. Afan de Ribera
:-)

RE:cargar fotos en access2007

Publicado por Chea (1015 intervenciones) el 31/03/2010 23:46:30
En Access 2007 el control imagen tiene una propiedad origen del control donde le podemos indicar el nombre de otro campo de la tabla donde se guarde la ruta, o cualquier campo calculado de donde obtener la ruta. No es necesario usar la propiedad picture, es más, si se usa junto con el origen de datos es resultado es una pérdida de eficiencia.

En http://geeks.ms/blogs/access/archive/2008/01/31/im-225-genes-vinculadas-a-datos-en-access-2007.aspx cuento algo más al respecto.

Saludos
José Bengoechea Ibaceta

RE:cargar fotos en access2007

Publicado por ser (23 intervenciones) el 02/04/2010 22:13:22
Hola josé he estado mirando tu página web y he intentado hacerlo como indica pero me da errores de código¿puedes ayudarme?
Option Compare Database

Private Sub Comando1_Click()

fArchivoImagen().Picture = fArchivoImagen()
End Sub
Public Function fArchivoImagen()

Dim fd As Office.FileDialog

On Error GoTo fArchivoImagen_Error

Set fd = Application.FileDialog(msoFileDialogOpen)
With fd
With .Filters
.Clear
.Add "Archivos de imagen", "*.jpg;*.jpeg;*.bmp;*.gif;*.png", 1
.Add "Todos", "*.*", 2
End With
.Title = "Seleccionar imagen)"
.AllowMultiSelect = False
.InitialFileName = CurrentProject.Path
.InitialView = msoFileDialogViewPreview

If .Show Then
fArchivoImagen = .SelectedItems(1)
End If

End With
On Error GoTo 0
Exit Sub

fArchivoImagen_Error:

MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure fArchivoImagen of Documento VBA Form_Mi Empresa"

End Sub

RE:cargar fotos en access2007

Publicado por ser (23 intervenciones) el 02/04/2010 22:14:50
Hola josé he estado mirando tu página web y he intentado hacerlo como indica pero me da errores de código¿puedes ayudarme?
Option Compare Database

Private Sub Comando1_Click()

fArchivoImagen().Picture = fArchivoImagen()
End Sub
Public Function fArchivoImagen()

Dim fd As Office.FileDialog

On Error GoTo fArchivoImagen_Error

Set fd = Application.FileDialog(msoFileDialogOpen)
With fd
With .Filters
.Clear
.Add "Archivos de imagen", "*.jpg;*.jpeg;*.bmp;*.gif;*.png", 1
.Add "Todos", "*.*", 2
End With
.Title = "Seleccionar imagen)"
.AllowMultiSelect = False
.InitialFileName = CurrentProject.Path
.InitialView = msoFileDialogViewPreview

If .Show Then
fArchivoImagen = .SelectedItems(1)
End If

End With
On Error GoTo 0
Exit Sub

fArchivoImagen_Error:

MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure fArchivoImagen of Documento VBA Form_Mi Empresa"

End Sub

RE:cargar fotos en access2007

Publicado por ser (23 intervenciones) el 02/04/2010 22:16:01
Hola josé he estado mirando tu página web y he intentado hacerlo como indica pero me da errores de código¿puedes ayudarme?
Option Compare Database

Private Sub Comando1_Click()

fArchivoImagen().Picture = fArchivoImagen()
End Sub
Public Function fArchivoImagen()

Dim fd As Office.FileDialog

On Error GoTo fArchivoImagen_Error

Set fd = Application.FileDialog(msoFileDialogOpen)
With fd
With .Filters
.Clear
.Add "Archivos de imagen", "*.jpg;*.jpeg;*.bmp;*.gif;*.png", 1
.Add "Todos", "*.*", 2
End With
.Title = "Seleccionar imagen)"
.AllowMultiSelect = False
.InitialFileName = CurrentProject.Path
.InitialView = msoFileDialogViewPreview

If .Show Then
fArchivoImagen = .SelectedItems(1)
End If

End With
On Error GoTo 0
Exit Sub

fArchivoImagen_Error:

MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure fArchivoImagen of Documento VBA Form_Mi Empresa"

End Sub

RE:cargar fotos en access2007

Publicado por Chea (1015 intervenciones) el 03/04/2010 11:30:01
En Access 2007 no es necesario utilizar Picture para cargar la imagen.

Lo que debemos hacer es guardar la ruta en otro campo y, en la propiedad Origen del Control de la imagen ponemos el nombre del campo.

La función fArchivoImagen() está bien para facilitar el obtener la ruta de una imagen y guardarla en un campo de texto, pero una vez que hemos hecho esto ya no es necesario usarla más.

Por cierto, para que funcione FileDialog debes añadir una referencia a Microsoft Office X.X Object Library.

Saludos
José Bengoechea Ibaceta