Hola, tengo un problema con access2007; 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"... probé poniendo una imagen con ese nombre en "C:" funciona! pero no puedo abrir la ruta completa 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....