Access - visor

 
Vista:

visor

Publicado por zztop2 (3 intervenciones) el 24/08/2009 14:34:07
hola, tengo este visor y no hay manera de que me funcione bien, me da error , no se ha encontrado el archivo, codigo 2
alguien me ayuda por favor...................
On Error GoTo handle
If Trim(Me.lstImg.Column(Me.lstImg.ColumnCount - 1)) <> "" And Not IsNull(Me.lstImg.Column(Me.lstImg.ColumnCount - 1)) And Me.lstImg.ListCount - 1 >= 0 Then
Path = Application.CurrentDb.Name
sfilename = Split(Path, "")
Path = ""
For i = 0 To UBound(sfilename) - 1
Path = Path & sfilename(i)
Path = Path & ""
Next
If Mid(Me.lstImg.Column(Me.lstImg.ColumnCount - 1), 2, 1) <> ":" And Left(Me.lstImg.Column(Me.lstImg.ColumnCount - 1), 2) <> "\" Then
imagen = Me.lstImg.Column(Me.lstImg.ColumnCount - 1)
Else
imagen = Split(Me.lstImg.Column(Me.lstImg.ColumnCount - 1), "")(UBound(Split(Me.lstImg.Column(Me.lstImg.ColumnCount - 1), "")))
End If
If Left(imagen, 1) = "" Then imagen = Right(imagen, Len(imagen) - 1)
documento = Path & imagen
On Error Resume Next
If FileLen(documento) = 0 Then
MsgBox "Document no trobat", vbOKOnly + vbInformation, "Atención"
Exit Sub
End If
On Error GoTo handle
r = modAPI.ShellExecute(Me.hwnd, "open", CStr(imagen), vbNullString, CStr(Path) & "", SW_SHOWNORMAL)
If r <= 32 Then
MsgBox "No s'ha pogut obrir el fitxer." & vbCrLf & _
"Codi d'error: " & r, vbOKOnly + vbCritical, "Atención"
Exit Sub
End If
If Left(UCase(imagen), 3) = "PDF" Then
r = modAPI.ShellExecute(Me.hwnd, "open", CStr(imagen), vbNullString, Path, SW_SHOWNORMAL)
End If
Else
MsgBox "Seleccioni el document a visualitzar", vbOKOnly + vbInformation, "Atención"
End If
Exit Sub
handle:
MsgBox Err.Source & vbCrLf & Err.Description, "Atención"
End Sub

muxas gracias,,,,,,,,,, sobre todo no entiendo la parte de if mid(xxxxxx,x,x),,,,,,,,

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:visor

Publicado por Antonio (83 intervenciones) el 05/09/2009 03:41:19
Hola,

por partes:

Mid(Me.lstImg.Column(Me.lstImg.ColumnCount - 1), 2, 1)

está haciendo referencia al segundo carácer desde la izquierda (2) y un solo caracter (1), de la última columna de "lstimg" (columncount -1 es la ultima Columna por que se cuentan empezando en cero para la primera columna izquierda.

Por otro lado, si no encuentra la imagen es que el contenido de Path es incorrecto. Ejecutalo en modo paso a paso y verifica el contenido de esa variable en la instrucción inmediatamente anterior a la de apertura de la imagen.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar