¿Cómo insertar una imagen tipo objeto ole desde un formulario access 2003?

Es la primera ves que trabajo con imágenes y si quisiera tener un recuadro que cada vez que le de click me manda a buscara la foto que quiero insertar

1 Respuesta

Respuesta
1

Si te tuviera que aconsejar, te diría que no uses objetos OLE, ya que "engordan" demasiado la base. Vamos a suponer que tienes una tabla Alumnos con Idalumno, NombreAlumno, etc. Añádele un campo Ruta(texto corto).

En el formulario añade ese campo y añade también un control Imagen y en sus Propiedades-Otras-Nombre ponle ImagenFoto.

Abre el editor de VB y pega

Public Function buscaArchivo() As String
Dim fDialog As Office.FileDialog
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
With fDialog
.AllowMultiSelect = False
.ButtonName = "Seleccionar"
.Title = "Seleccionar el archivo"
.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

En las propiedades del cuadro de texto Ruta, en eventos-al hacer clic, crea un procedimiento de evento y entre Private Sub y End Sub escribe

Dim vArchivo As String

       
    vArchivo = buscaArchivo()
    If IsNull(vArchivo) Or vArchivo = "" Then
        Exit Sub
   Else
        Me.ruta.Value = vArchivo
        Me.ImagenFoto.Picture = Me.ruta
    End If

Así, cuando hagas clic en el cuadro de texto Ruta se abrirá un "explorador", localizas la rut de l imagen que quieres guardar y por un lado, te la pone en ese cuadro de texto y por otro lado, en el control imagen te aparece esa imagen.

Puedes combinarlo con poner, en el evento Al activar el registro del formulario

If Not IsNull([ruta]) Then
Me.ImagenFoto.Picture = Me.ruta
ElseIf IsNull([ruta]) Then
Me.ImagenFoto.Picture = ""
End If

Importante, en la ventana del editor de VB pulsa Herramientas-Referencias y activa la casilla Microsoft Office 11.object library

Parece complicado, pero realmente es muy sencillo. Si ves que t lías y quieres, repito y quieres, mándame un mensaje(sólo el mensaje) a [email protected]  y te mando un ejemplo, que es como mejor se ve. Si lo haces, en el asunto del mensaje pon tu alias Antonio Cuellar, ya que si no sé quien me escribe ni los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas