Botón Comando de búsqueda archivo

En mi db utilizo un formulario " Altas" para introducir los datos de alta de socios y me gustaría introducir la foto de cada socio en su registro.
He definido un campo en la tabla " foto " tipo texto ( por no cargar la db y he pensado utilizar una carpeta para almacenar la fotos " FotosSocios" ) este campo " foto " lo he insertado en el formulario de introducción de datos "Altas", también he introducido un cuadro de imagen para mostarla.
Mi pregunta es como debo de hacer para que un botón de comando situado en el mencionado formulario me busque la mencionada carpeta de fotos y me cargue la foto del socio en el registro activo y me la muestre en el cuadro de imagen.
Agradecería que la explicación sea lo más detallada posible debido a mi nivel en access.

1 Respuesta

Respuesta
1
Para seleccionar un archivo debes utilizar algo llamado FileDialog. Si dispones de la versión 2007 de Office puedes utilizarlo directamente reverenciando la bibliteca Microsoft Office 12 Object Library.
Si dispones de una versión anterior, puedes utilizar el FileDialog que creó Happy (http://accessvbafaq.mvps.org)
Una vez consigas eso (guardar la ruta en el cuadro de texto), mostrar la imagen es tan simple como asignar el valor de ese cuadro de texto a la propiedad Picture del control imagen:
Me!ctlImagen.Picture = Me!elcuadrodetexto
http://www.aesoft-databases.com
Hola,
Gracias por tú respuesta, veras ando un poco despistado con tu respuesta debido posiblemente a mi falta de conocimiento, poseo la versión 97 de access, no entiendo cuando me dices que debo utilizar FileDialog ¿esta disposible en mi versión, cono utilizarlo, en que consiste?. ¿Cómo guardo la ruta en el campo cuadro de texto "foto"?. Cuando te refieres al control de imagen ¿es el botón de comando que pretendo utilizar para buscar el archivo?, pues no logro encontrar la propiedad Picture para asignarle el valor que me mencionas.
Como te decía ando muy despistado, por favor te agradecería fueses más extenso en tu explicación. Gracias
Poco más me puedo extender. En tu caso debes utilizar el FileDialog de Happy. Bajate el ejemplo y verás que es fácil de entender.
Si después de eso tienes dudas, sigue preguntando.
Xavi
Hola Xavi.
Alguna cosa he conseguido.He copiado el módulo " FileDlg97 Access 97 " en mi aplicación.
Al botón de comando " Comando228 " insertado en mi formulario para que me busque la foto a añadir en la Imagen " CuadroFOFO " insertado en el mismo formulario, le he añadido el valor siguiente:
Dim FileDlg As FileDialog
    Set FileDlg = New FileDialog
    With FileDlg
        .DialogType = DialogOpen
        .InitialView = ViewPreview
        .Filters.Add "Archivos de imagen(*.bmp;*.jpg;*.gif;*.ico;*.wmf)"
        If .Show Then
            MsgBox "Archivo seleccionado: " & .SelectedItems(1)
        Else
            MsgBox "No se ha seleccionado ningún archivo"
        End If
    End With
    Set FileDlg = Nothing

Pues bien, si que me realiza la búsqueda, selecciono la foto en cuestión pero no me la muestra en la imagen " CuadroFOTO " de mi formulario. Me comentabas que:
Una vez consigas eso (guardar la ruta en el cuadro de texto), mostrar la imagen es tan simple como asignar el valor de ese cuadro de texto a la propiedad Picture del control imagen:
Me!ctlImagen.Picture = Me!elcuadrodetexto
( en mi caso cual seria el valor a introducir en la propiedad Picture, pues lo he intentado de mil formas y siempre me dice que no encuentra el archivo.
Cuando te refieres a control de imagen te refieres a mi botón de comando " Comando288 ".
Mi cuadro de texto es: " FOTO ".
El botón de comando para la búsqueda es:"Comando288"
La Imagen donde mostrar la foto es: "CuadroFOTO"
Otra cosa,(guardar la ruta en el cuadro de texto), a que te refieres, ¿Cómo?.
Espero haberme explicado bien, estoy que ya no se por donde tirar. Gracias Xavi.
Primero debes guardar la ruta seleccionada en algún campo (cosa que no veo que hagas: simplemente muestras un MsgBox con el valor, pero no lo asignas)
If .Show Then
  Me!elcuadrodetetxtoparalaruta = .SelectedItems(1)
Segundo debes utilizar un control imagen para mostrar la imagen seleccionada:
Me!ctlImagen.Picture = Me!elcuadrodetetxtoparalaruta
Xavi

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas