Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Editar imágenes en formularios de Access

Estas en el tema de Editar imágenes en formularios de Access en el foro de Bases de Datos General en Foros del Web. Hola a tod@s: Necesito encontrar el modo de poder hacer editable un control image en un formulario de access. Tengo almacenada la ruta donde se ...
  #1 (permalink)  
Antiguo 26/01/2008, 19:33
 
Fecha de Ingreso: enero-2008
Mensajes: 70
Antigüedad: 16 años, 3 meses
Puntos: 0
Editar imágenes en formularios de Access

Hola a tod@s:

Necesito encontrar el modo de poder hacer editable un control image en un formulario de access. Tengo almacenada la ruta donde se encuentra guardada la foto a visualizar en un campo llamado IMAGE_01 y el control donde la visualiza se llama FOTO1.

Lo que busco es que cuando estoy visualizando los registros uno a uno a través de mi formulario vayan cambiando las imágenes (esto ya lo logré), pero si una de ellas necesito modificarla, que al hacer doble clic se carge el PAINT, por ejemplo, y la foto dentro para poder retocarla.

Yo imagino que tendré que que añadir algo de código VBA en algún sitio pero mis conocimientos ya no dan para más.

Espero haber sido claro en la explicación de mi problema.

Desde ya, gracias por atenderme.

Última edición por fagoncis; 27/01/2008 a las 13:50
  #2 (permalink)  
Antiguo 28/01/2008, 02:48
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Re: Editar imágenes en formularios de Access

Si, como ccreo entender, cargas las imagenes que esan en una carpeta, y no inccrustadas en algun campo de la bd, solo guardas la ruta, al cargar la imagen tendras la ruta guardada en la propiedad picture del control Imagen. Por lo tanto, podrias en su evento click abrir dicha foto pasandole a la funcion shell el parametro donde esta el paint.exe y la ruta de la foto, algo asi:

Private Sub Foto1_Click()
Dim RetVal
RetVal = Shell("C:\WINDOWS\system32\mspaint.EXE " & Me.Foto1.Picture, 3)
End Sub

Para que se reflejen los cambios en el control imagen del form, tendras que actualizar su propiedad picture, yo pondria un botn al lado del control imagen para esto, no se me ocurre forma de controlar cuando el usuario ha terminado de modificar la imagen, por o tanto esta prodria ser una solucion aceptable:

Un saludo
  #3 (permalink)  
Antiguo 28/01/2008, 05:48
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Re: Editar imágenes en formularios de Access

Y si quieres manipular imagenes desde el propio access, mira este ejemplo de un guru de access llmado Emilio:

http://www.mvp-access.com/emilio/Des...p?idejemplo=74

Un saludo
  #4 (permalink)  
Antiguo 02/02/2008, 02:07
 
Fecha de Ingreso: enero-2008
Mensajes: 70
Antigüedad: 16 años, 3 meses
Puntos: 0
De acuerdo Re: Editar imágenes en formularios de Access

Muchas gracias por tu respuesta, pues es lo que realmente estaba buscando desde hacia un tiempo. Tambien lo del guro llamado Emilio esta muy interesante.

Repito, muchas gracias.

Si pudieras decirme como hacer para cuando la ruta suministrada tiene espacios en blanco tambien funcione te doy un 10+

Saludos

Última edición por fagoncis; 15/03/2008 a las 13:31
  #5 (permalink)  
Antiguo 26/12/2009, 10:09
 
Fecha de Ingreso: diciembre-2009
Mensajes: 2
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Editar imágenes en formularios de Access

Hola, tengo un problema parecido. Tengo un campo en la base de datos que almacena una ruta relativa a la imagen, y la muestro en un formulario mediante un script, usando el campo de texto "ruta_imagen" como la ruta y el control de imagen "Picture", que está vacio, para mostrar la imagen como tal. me funciona de maravilla. Pero despues quise hacer click y que abriera la imagen, y buscando encontré esta discusión, y encontré más util abrirla en Paint, ya que se puede rayar la imagen para explicar cosas. Así que tomé el script dado aqui y lo apliqué, pero por alguna extraña razón trata de abrir "c:/documents.bmp" supongo que lo toma de la ruta (ruta_imagen), asi que probé poniendo una imagen con ese nombre en C. funciona! pero no puedo abrir la ruta que tengo almacenada,... aqui tengo el codigo para abrir la imagen:
------------------------------------------------------------------------------------------
Private Sub Form_Current()
On Error GoTo err_Form_Current

If Not Me!txtPicture = "" Or Not IsNull(Me!txtPicture) Then
Me!Picture.Picture = GetPathPart & Me!txtPicture
Else
Me!Picture.Picture = ""
End If

exit_Form_Current:
Exit Sub

err_Form_Current:
MsgBox Err.Description
Resume exit_Form_Current

End Sub

Private Sub Form_Open(Cancel As Integer)
On Error GoTo Err_Form_Open

If IsNull(Me!txtPicture) Or Me!txtPicture = "" Then
' do nothing
Else
Me!Picture.Picture = GetPathPart & Me!txtPicture
End If

Exit_Form_Open:
Exit Sub

Err_Form_Open:
MsgBox Err.Description
Resume Exit_Form_Open

End Sub

Private Function GetPathPart() As String
' Comments : Returns the path part of a string
' Parameters: strPath - string to parse
' Returns : path part
'
Dim db As DAO.Database
Dim strPath As String
Dim intCounter As Integer

Set db = CurrentDb
strPath = db.Name
db.Close
Set db = Nothing

For intCounter = Len(strPath) To 1 Step -1
If Mid$(strPath, intCounter, 1) = "\" Then
Exit For
End If
Next intCounter

GetPathPart = Left$(strPath, intCounter)

End Function
------------------------------------------------------------------------------------------

ahora, para abrir la imagen creé un boton vacio y le escribí este código:
--------------------------------------------------------------------------------------------------------
Private Sub Command97_Click()
Dim RetVal
RetVal = Shell("C:\WINDOWS\system32\mspaint.EXE " & Me!Picture.Picture, 3)
End Sub
--------------------------------------------------------------------------------------------------------

seguramente está tomando una parte incompleta de la ruta desde el control, pero no sé como pasarle los parametros completos....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 01:15.