Les images Tif s'affichent bien sous Access 2003/Win XP, mais seulement dans
une "Image".
C'est-à-dire pas moyen d'activer l'image via le viewer par défaut.
Pour ce faire il faut un OLE Bound Object avec le code suivant :
Private Sub Form_Current()
'Olebound7 : Création du lien
[OLEBound7].Class = "picture"
[OLEBound7].OLETypeAllowed = acOLELinked
[OLEBound7].SourceDoc = "C:\Data\L05d1.tif" ' Specify source file.
[OLEBound7].Action = acOLECreateLink ' Create linked object.
[OLEBound7].SizeMode = acOLESizeZoom ' ok full image si consultation
End Sub
En double cliquant, l'image s'ouvre. Cela marche parfaitement sous Access
2000 et 2002.
Mais 2003 donne message d'erreur :
"Erreur d'exécution 2753. un pb est survenu durant la communication entre
Access et le serveur OLE ou le contrôle activex"
Quelqu'un parmi vous aurait-il une idée ?
Ou pourrait tester (A2003) mon petit form possédant les 3 types d'affichage
des images ?
D'avance merci
"Bruno Frisque" | Le ViewerPath est construit par l'API de Lebans.
je ne vois pas de quelle API Lebans tu parle...
http://www.mvps.org/accessfr/apis/api0023.htm
Mais, la chaîne retournée par cette fonction n'est pas "nettoyée"
utilise cette version corrigée:
Function fFindEXE(stFile As String, _ stDir As String) _ As String 'Usage Example: ' ?fFindEXE("test.xls","c:temp") ' Dim lpResult As String Dim lngRet As Long, pos As Integer
If lngRet > 32 Then pos = InStr(1, lpResult, Chr(0), vbBinaryCompare) - 1 fFindEXE = Left(lpResult, pos) Else Select Case lngRet: Case ERROR_NOASSOC: fFindEXE = "Error: No Association" Case ERROR_FILE_NOT_FOUND: fFindEXE = "Error: File Not Found" Case ERROR_PATH_NOT_FOUND: fFindEXE = "Error: Path Not Found" Case ERROR_BAD_FORMAT: fFindEXE = "Error: Bad File Format" Case ERROR_OUT_OF_MEM: fFindEXE = "Error: Out of Memory" End Select End If
End Function
ensuite tu fais comme prévu en ajoutant un espace entre les deux...
"Bruno Frisque"
| Le ViewerPath est construit par l'API de Lebans.
je ne vois pas de quelle API Lebans tu parle...
http://www.mvps.org/accessfr/apis/api0023.htm
Mais, la chaîne retournée par cette fonction n'est pas "nettoyée"
utilise cette version corrigée:
Function fFindEXE(stFile As String, _
stDir As String) _
As String
'Usage Example:
' ?fFindEXE("test.xls","c:temp")
'
Dim lpResult As String
Dim lngRet As Long, pos As Integer
If lngRet > 32 Then
pos = InStr(1, lpResult, Chr(0), vbBinaryCompare) - 1
fFindEXE = Left(lpResult, pos)
Else
Select Case lngRet:
Case ERROR_NOASSOC: fFindEXE = "Error: No Association"
Case ERROR_FILE_NOT_FOUND: fFindEXE = "Error: File Not Found"
Case ERROR_PATH_NOT_FOUND: fFindEXE = "Error: Path Not Found"
Case ERROR_BAD_FORMAT: fFindEXE = "Error: Bad File Format"
Case ERROR_OUT_OF_MEM: fFindEXE = "Error: Out of Memory"
End Select
End If
End Function
ensuite tu fais comme prévu en ajoutant un espace entre les deux...
"Bruno Frisque" | Le ViewerPath est construit par l'API de Lebans.
je ne vois pas de quelle API Lebans tu parle...
http://www.mvps.org/accessfr/apis/api0023.htm
Mais, la chaîne retournée par cette fonction n'est pas "nettoyée"
utilise cette version corrigée:
Function fFindEXE(stFile As String, _ stDir As String) _ As String 'Usage Example: ' ?fFindEXE("test.xls","c:temp") ' Dim lpResult As String Dim lngRet As Long, pos As Integer
If lngRet > 32 Then pos = InStr(1, lpResult, Chr(0), vbBinaryCompare) - 1 fFindEXE = Left(lpResult, pos) Else Select Case lngRet: Case ERROR_NOASSOC: fFindEXE = "Error: No Association" Case ERROR_FILE_NOT_FOUND: fFindEXE = "Error: File Not Found" Case ERROR_PATH_NOT_FOUND: fFindEXE = "Error: Path Not Found" Case ERROR_BAD_FORMAT: fFindEXE = "Error: Bad File Format" Case ERROR_OUT_OF_MEM: fFindEXE = "Error: Out of Memory" End Select End If
End Function
ensuite tu fais comme prévu en ajoutant un espace entre les deux...
Merci je vais essayer çà ... Dur dur ce (petit ?) problème
encore merci à +
"3stone" wrote in message news:
re,
"Bruno Frisque" | Le ViewerPath est construit par l'API de Lebans.
je ne vois pas de quelle API Lebans tu parle...
http://www.mvps.org/accessfr/apis/api0023.htm
Mais, la chaîne retournée par cette fonction n'est pas "nettoyée"
utilise cette version corrigée:
Function fFindEXE(stFile As String, _ stDir As String) _ As String 'Usage Example: ' ?fFindEXE("test.xls","c:temp") ' Dim lpResult As String Dim lngRet As Long, pos As Integer
If lngRet > 32 Then pos = InStr(1, lpResult, Chr(0), vbBinaryCompare) - 1 fFindEXE = Left(lpResult, pos) Else Select Case lngRet: Case ERROR_NOASSOC: fFindEXE = "Error: No Association" Case ERROR_FILE_NOT_FOUND: fFindEXE = "Error: File Not Found" Case ERROR_PATH_NOT_FOUND: fFindEXE = "Error: Path Not Found" Case ERROR_BAD_FORMAT: fFindEXE = "Error: Bad File Format" Case ERROR_OUT_OF_MEM: fFindEXE = "Error: Out of Memory" End Select End If
End Function
ensuite tu fais comme prévu en ajoutant un espace entre les deux...
Merci je vais essayer çà ...
Dur dur ce (petit ?) problème
encore merci
à +
"3stone" <3stone_@_skynet_be> wrote in message
news:uZuqHoVNGHA.1180@TK2MSFTNGP09.phx.gbl...
re,
"Bruno Frisque"
| Le ViewerPath est construit par l'API de Lebans.
je ne vois pas de quelle API Lebans tu parle...
http://www.mvps.org/accessfr/apis/api0023.htm
Mais, la chaîne retournée par cette fonction n'est pas "nettoyée"
utilise cette version corrigée:
Function fFindEXE(stFile As String, _
stDir As String) _
As String
'Usage Example:
' ?fFindEXE("test.xls","c:temp")
'
Dim lpResult As String
Dim lngRet As Long, pos As Integer
If lngRet > 32 Then
pos = InStr(1, lpResult, Chr(0), vbBinaryCompare) - 1
fFindEXE = Left(lpResult, pos)
Else
Select Case lngRet:
Case ERROR_NOASSOC: fFindEXE = "Error: No Association"
Case ERROR_FILE_NOT_FOUND: fFindEXE = "Error: File Not Found"
Case ERROR_PATH_NOT_FOUND: fFindEXE = "Error: Path Not Found"
Case ERROR_BAD_FORMAT: fFindEXE = "Error: Bad File Format"
Case ERROR_OUT_OF_MEM: fFindEXE = "Error: Out of Memory"
End Select
End If
End Function
ensuite tu fais comme prévu en ajoutant un espace entre les deux...
Merci je vais essayer çà ... Dur dur ce (petit ?) problème
encore merci à +
"3stone" wrote in message news:
re,
"Bruno Frisque" | Le ViewerPath est construit par l'API de Lebans.
je ne vois pas de quelle API Lebans tu parle...
http://www.mvps.org/accessfr/apis/api0023.htm
Mais, la chaîne retournée par cette fonction n'est pas "nettoyée"
utilise cette version corrigée:
Function fFindEXE(stFile As String, _ stDir As String) _ As String 'Usage Example: ' ?fFindEXE("test.xls","c:temp") ' Dim lpResult As String Dim lngRet As Long, pos As Integer
If lngRet > 32 Then pos = InStr(1, lpResult, Chr(0), vbBinaryCompare) - 1 fFindEXE = Left(lpResult, pos) Else Select Case lngRet: Case ERROR_NOASSOC: fFindEXE = "Error: No Association" Case ERROR_FILE_NOT_FOUND: fFindEXE = "Error: File Not Found" Case ERROR_PATH_NOT_FOUND: fFindEXE = "Error: Path Not Found" Case ERROR_BAD_FORMAT: fFindEXE = "Error: Bad File Format" Case ERROR_OUT_OF_MEM: fFindEXE = "Error: Out of Memory" End Select End If
End Function
ensuite tu fais comme prévu en ajoutant un espace entre les deux...
L'api Lebans, que tu m'avais communiquée, est bien celle de ton lien.
Oui çà marche maintenant, avec le code "corrigé" ! << Dim lpResult As String Dim lngRet As Long Dim pos '<< lpResult = Space(cMAX_PATH) lngRet = apiFindExecutable(stFile, stDir, lpResult)
If lngRet > 32 Then pos = InStr(1, lpResult, Chr(0), vbBinaryCompare) - 1 '<< new et incompréhensible .. fFindEXE = Left(lpResult, pos) ' <<new ViewerPath = Left(lpResult, pos) 'lpResult '<< new Else Select Case lngRet: Case ERROR_NOASSOC: fFindEXE = "Error: No Association" Case ERROR_FILE_NOT_FOUND: fFindEXE = "Error: File Not Found" Case ERROR_PATH_NOT_FOUND: fFindEXE = "Error: Path Not Found" Case ERROR_BAD_FORMAT: fFindEXE = "Error: Bad File Format" Case ERROR_OUT_OF_MEM: fFindEXE = "Error: Out of Memory" End Select End If Debug.Print "viewer's name at MODULE:" & ViewerPath & "." qui donne : 'viewer's name at MODULE:C:Program FilesImaging ProfessionalKodakimg.exe. < le dot est nickel ...
C'est donc devenu, par enchantement, et par 3stone, PARFAIT! Et au Form, le double click ouvre le default viewer ET LE FICHIER !!
C'est simplement GENIAL....
Tout tout grand merci encore à +
et à charge de revanche .. mais çà m'étonnerait...:-(
"3stone" wrote in message news:
re,
"Bruno Frisque" | Le ViewerPath est construit par l'API de Lebans.
je ne vois pas de quelle API Lebans tu parle...
http://www.mvps.org/accessfr/apis/api0023.htm
Mais, la chaîne retournée par cette fonction n'est pas "nettoyée"
utilise cette version corrigée:
Function fFindEXE(stFile As String, _ stDir As String) _ As String 'Usage Example: ' ?fFindEXE("test.xls","c:temp") ' Dim lpResult As String Dim lngRet As Long, pos As Integer
If lngRet > 32 Then pos = InStr(1, lpResult, Chr(0), vbBinaryCompare) - 1 fFindEXE = Left(lpResult, pos) Else Select Case lngRet: Case ERROR_NOASSOC: fFindEXE = "Error: No Association" Case ERROR_FILE_NOT_FOUND: fFindEXE = "Error: File Not Found" Case ERROR_PATH_NOT_FOUND: fFindEXE = "Error: Path Not Found" Case ERROR_BAD_FORMAT: fFindEXE = "Error: Bad File Format" Case ERROR_OUT_OF_MEM: fFindEXE = "Error: Out of Memory" End Select End If
End Function
ensuite tu fais comme prévu en ajoutant un espace entre les deux...
L'api Lebans, que tu m'avais communiquée, est bien celle de ton lien.
Oui çà marche maintenant, avec le code "corrigé" ! <<
Dim lpResult As String
Dim lngRet As Long
Dim pos '<<
lpResult = Space(cMAX_PATH)
lngRet = apiFindExecutable(stFile, stDir, lpResult)
If lngRet > 32 Then
pos = InStr(1, lpResult, Chr(0), vbBinaryCompare) - 1 '<< new et
incompréhensible ..
fFindEXE = Left(lpResult, pos) ' <<new
ViewerPath = Left(lpResult, pos) 'lpResult '<< new
Else
Select Case lngRet:
Case ERROR_NOASSOC: fFindEXE = "Error: No Association"
Case ERROR_FILE_NOT_FOUND: fFindEXE = "Error: File Not Found"
Case ERROR_PATH_NOT_FOUND: fFindEXE = "Error: Path Not Found"
Case ERROR_BAD_FORMAT: fFindEXE = "Error: Bad File Format"
Case ERROR_OUT_OF_MEM: fFindEXE = "Error: Out of Memory"
End Select
End If
Debug.Print "viewer's name at MODULE:" & ViewerPath & "."
qui donne :
'viewer's name at MODULE:C:Program FilesImaging ProfessionalKodakimg.exe.
< le dot est nickel ...
C'est donc devenu, par enchantement, et par 3stone, PARFAIT!
Et au Form, le double click ouvre le default viewer ET LE FICHIER !!
C'est simplement GENIAL....
Tout tout grand merci encore
à +
et à charge de revanche .. mais çà m'étonnerait...:-(
"3stone" <3stone_@_skynet_be> wrote in message
news:uZuqHoVNGHA.1180@TK2MSFTNGP09.phx.gbl...
re,
"Bruno Frisque"
| Le ViewerPath est construit par l'API de Lebans.
je ne vois pas de quelle API Lebans tu parle...
http://www.mvps.org/accessfr/apis/api0023.htm
Mais, la chaîne retournée par cette fonction n'est pas "nettoyée"
utilise cette version corrigée:
Function fFindEXE(stFile As String, _
stDir As String) _
As String
'Usage Example:
' ?fFindEXE("test.xls","c:temp")
'
Dim lpResult As String
Dim lngRet As Long, pos As Integer
If lngRet > 32 Then
pos = InStr(1, lpResult, Chr(0), vbBinaryCompare) - 1
fFindEXE = Left(lpResult, pos)
Else
Select Case lngRet:
Case ERROR_NOASSOC: fFindEXE = "Error: No Association"
Case ERROR_FILE_NOT_FOUND: fFindEXE = "Error: File Not Found"
Case ERROR_PATH_NOT_FOUND: fFindEXE = "Error: Path Not Found"
Case ERROR_BAD_FORMAT: fFindEXE = "Error: Bad File Format"
Case ERROR_OUT_OF_MEM: fFindEXE = "Error: Out of Memory"
End Select
End If
End Function
ensuite tu fais comme prévu en ajoutant un espace entre les deux...
L'api Lebans, que tu m'avais communiquée, est bien celle de ton lien.
Oui çà marche maintenant, avec le code "corrigé" ! << Dim lpResult As String Dim lngRet As Long Dim pos '<< lpResult = Space(cMAX_PATH) lngRet = apiFindExecutable(stFile, stDir, lpResult)
If lngRet > 32 Then pos = InStr(1, lpResult, Chr(0), vbBinaryCompare) - 1 '<< new et incompréhensible .. fFindEXE = Left(lpResult, pos) ' <<new ViewerPath = Left(lpResult, pos) 'lpResult '<< new Else Select Case lngRet: Case ERROR_NOASSOC: fFindEXE = "Error: No Association" Case ERROR_FILE_NOT_FOUND: fFindEXE = "Error: File Not Found" Case ERROR_PATH_NOT_FOUND: fFindEXE = "Error: Path Not Found" Case ERROR_BAD_FORMAT: fFindEXE = "Error: Bad File Format" Case ERROR_OUT_OF_MEM: fFindEXE = "Error: Out of Memory" End Select End If Debug.Print "viewer's name at MODULE:" & ViewerPath & "." qui donne : 'viewer's name at MODULE:C:Program FilesImaging ProfessionalKodakimg.exe. < le dot est nickel ...
C'est donc devenu, par enchantement, et par 3stone, PARFAIT! Et au Form, le double click ouvre le default viewer ET LE FICHIER !!
C'est simplement GENIAL....
Tout tout grand merci encore à +
et à charge de revanche .. mais çà m'étonnerait...:-(
"3stone" wrote in message news:
re,
"Bruno Frisque" | Le ViewerPath est construit par l'API de Lebans.
je ne vois pas de quelle API Lebans tu parle...
http://www.mvps.org/accessfr/apis/api0023.htm
Mais, la chaîne retournée par cette fonction n'est pas "nettoyée"
utilise cette version corrigée:
Function fFindEXE(stFile As String, _ stDir As String) _ As String 'Usage Example: ' ?fFindEXE("test.xls","c:temp") ' Dim lpResult As String Dim lngRet As Long, pos As Integer
If lngRet > 32 Then pos = InStr(1, lpResult, Chr(0), vbBinaryCompare) - 1 fFindEXE = Left(lpResult, pos) Else Select Case lngRet: Case ERROR_NOASSOC: fFindEXE = "Error: No Association" Case ERROR_FILE_NOT_FOUND: fFindEXE = "Error: File Not Found" Case ERROR_PATH_NOT_FOUND: fFindEXE = "Error: Path Not Found" Case ERROR_BAD_FORMAT: fFindEXE = "Error: Bad File Format" Case ERROR_OUT_OF_MEM: fFindEXE = "Error: Out of Memory" End Select End If
End Function
ensuite tu fais comme prévu en ajoutant un espace entre les deux...