Access - cargar fotos en access2007
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 También te puede interesar...
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 :-)
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
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
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
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
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 Graficos lanzar consulta |