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.... 
   
 

