HOLA ICUE, SOBRE TU ULTIMO MENSAJE EN NEGRITA TE TRASLADO LOS PROBLEMAS QUE ME DA. BASICAMENTE ES QUE NO ENTIENDO LO DE me.foto.picture
Voy a suponer cosas, corrígeme si me equivoco. Tu le vas a dar la base a cada cliente. Y él tiene que elegir su anagrama. Supongo que los datos de ese cliente en particular los guardarás en una tabla. Ok
Añádele un campo Archivo texto. Entiendo que me dices que agregue en la tabla un campo de texto que se llama ‘Archivo’. Es Ok?
Luego, en el formulario donde ese cliente introduce sus datos ponle un cuadro de texto Archivo, con origen del control en el campo Archivo, y si quieres ponlo como oculto. Hecho
En el editor de VB crea la función
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
End Function
Esta función ya la tengo disponible y funciona correctamente cuando pulse el boton
Luego le pones un botón Buscar Anagrama y en sus propiedades-eventos-al hacer clic le pones
Archivo = buscaArchivo()
Me.Foto.Picture = Archivo. Esto me da error al compilar
¿Qué es foto.picture? ¿Hace referencia a un campo de la tabla, a un cuadro de texto del formulario o a una variable?
Y en el evento Al activar el registro del formulario, por si lo usara para otras cosas
If IsNull([Archivo]) Then
Exit Sub
Else
Me.Foto.Picture = Archivo AQUI ME VUELVE A DAR ERROR
End If
Me explico. Cuando pulse el botón se abre un navegador para que busque EN SU ORDENADOR la ruta a su anagrama, y ya le queda guardada, per secula... y en el control imagen ya te aparece su anagrama.
Luego en los informes sólo tendrías que poner algo así como
Me.Foto.Picture = DLookup("archivo", "DatosCliente", "idcliente=" & Me.Idcliente & "")DE NUEVO EN EL INFORME OBTENGO ERROR
Acuérdate de, en el editor de VB, en Referencias, activar la casilla de Microsoft XX. Object Library( el XX depende de la versión del Office que tengas instalada). COMPROBADO QUE OFICCE 2016 ESTA MARCADO