J'ai une application ACCESS avec des modules VisualBasic. Cette application
fonctionne normalement sur mon PC mais ne fonctionne pas sur un autre PC
ayant la même configuraton Windows et la même version d'ACCESS. Nous avons pu
déterminer qu'il s'agit d'une DLL manquante dans la bibliothèque de
références, mais nous ne pouvons pas accéder aux références sur le Pc en
défaut car l'option est grisée.
Quelqu'un pourrait-il me dire comment rendre cette option disponible sur le
PC en question afin de savoir quelle est la DLL qui pose problème ?
J'ai essayé d'appliquer le code que tu m'avais donné. Je l'ai d'abord essayé sur un Pc avec lequel l'application fonctionne pour voir ce que cela donnait, puis nous l'avons appliqué sur le PC en erreur. Le problème avec le PC en erreur c'est qu'il ne me donne pas le nom des bibliothèques qui manquent !! Lorqu'une référence est manquante j'ai un blanc à la place du nom !! Par déduction avec le Pc qui fonctionne je peux en déduire les bibliothèques qui manquent mais, une fois de plus, je suis coincée car je peux peux pas accéder aux références dans VisualBasic et donc je ne peux pas refaire les liens avec les bibliothèques.
Comment accéder à ces maudites références ?
Juste pour information, bien que cela ne règle pas le problème, on peut remonter au fichier posant problème à partir du GUID : Il pointe sur le TypeLib de la référence dans :
NB : Les numéros de version Majeure et Mineure de la référence sont renvoyés en décimal par Ref.Major et Ref.Minor, par contre dans le registre, elle sont en Hexadécimal, Il faut donc les convertir, mais sans utiliser la fonction Hex, sous peine de planter comme avec Left, Right, etc... ' --------------------------------------------------------
Private Sub CheckRef() Dim Ref As Reference Dim Ver As String, TliName As String Dim wsh As Object Dim i As Integer
Set wsh = CreateObject("WScript.Shell")
On Error Resume Next For Each Ref In References Ver = Dec2Hex(Ref.Major) & "." & Dec2Hex(Ref.Minor) i = 0 Do TliName = wsh.RegRead("HKCRTypelib" & Ref.Guid & "" & _ Ver & "" & i & "Win32") i = i + 1 Loop While Len(TliName) = 0 If Ref.IsBroken Then MsgBox "??????" & vbCrLf & Ref.Guid & vbCrLf & _ "Version : " & Ver & vbCrLf & _ "Manquant : " & Ref.IsBroken & vbCrLf & _ "Typelib : " & TliName Else MsgBox Ref.Name & vbCrLf & Ref.Guid & vbCrLf & _ "Version : " & Ver & vbCrLf & _ "Manquant : " & Ref.IsBroken & vbCrLf & _ "Typelib : " & TliName End If Next End Sub
Private Function Dec2Hex(Nb As Integer) As String Dim s As String
Do If Nb Mod 16 < 10 Then s = Nb Mod 16 & s Else Select Case Nb Mod 16 Case 10 s = "A" & s Case 11 s = "B" & s Case 12 s = "C" & s Case 13 s = "D" & s Case 14 s = "E" & s Case 15 s = "F" & s End Select End If Nb = Int(Nb / 16) Loop Until Nb = 1 Or Nb = 0 If Nb = 1 Then s = Nb & s Dec2Hex = s End Function ' --------------------------------------------------------
Si je ne me trompe tu utilises une version Access 2000, je crois que tu ne peux donc pas ajouter de référence de manière dynamique avec :
Le problème est donc bien d'activer le choix 'Références...' dans VBA ? Peux tu quand même indiquer la/les référence(s) posant problèmes ? Cordialement,
Jacques.
Bonjour Rinette Tahiti,
Rinette Tahiti a écrit :
Bonjour Jacques,
J'ai essayé d'appliquer le code que tu m'avais donné. Je l'ai d'abord essayé
sur un Pc avec lequel l'application fonctionne pour voir ce que cela donnait,
puis nous l'avons appliqué sur le PC en erreur. Le problème avec le PC en
erreur c'est qu'il ne me donne pas le nom des bibliothèques qui manquent !!
Lorqu'une référence est manquante j'ai un blanc à la place du nom !! Par
déduction avec le Pc qui fonctionne je peux en déduire les bibliothèques qui
manquent mais, une fois de plus, je suis coincée car je peux peux pas accéder
aux références dans VisualBasic et donc je ne peux pas refaire les liens avec
les bibliothèques.
Comment accéder à ces maudites références ?
Juste pour information, bien que cela ne règle pas le problème, on peut
remonter au fichier posant problème à partir du GUID : Il pointe sur le
TypeLib de la référence dans :
NB : Les numéros de version Majeure et Mineure de la référence sont
renvoyés en décimal par Ref.Major et Ref.Minor, par contre dans le
registre, elle sont en Hexadécimal, Il faut donc les convertir, mais
sans utiliser la fonction Hex, sous peine de planter comme avec Left,
Right, etc...
' --------------------------------------------------------
Private Sub CheckRef()
Dim Ref As Reference
Dim Ver As String, TliName As String
Dim wsh As Object
Dim i As Integer
Set wsh = CreateObject("WScript.Shell")
On Error Resume Next
For Each Ref In References
Ver = Dec2Hex(Ref.Major) & "." & Dec2Hex(Ref.Minor)
i = 0
Do
TliName = wsh.RegRead("HKCRTypelib" & Ref.Guid & "" & _
Ver & "" & i & "Win32")
i = i + 1
Loop While Len(TliName) = 0
If Ref.IsBroken Then
MsgBox "??????" & vbCrLf & Ref.Guid & vbCrLf & _
"Version : " & Ver & vbCrLf & _
"Manquant : " & Ref.IsBroken & vbCrLf & _
"Typelib : " & TliName
Else
MsgBox Ref.Name & vbCrLf & Ref.Guid & vbCrLf & _
"Version : " & Ver & vbCrLf & _
"Manquant : " & Ref.IsBroken & vbCrLf & _
"Typelib : " & TliName
End If
Next
End Sub
Private Function Dec2Hex(Nb As Integer) As String
Dim s As String
Do
If Nb Mod 16 < 10 Then
s = Nb Mod 16 & s
Else
Select Case Nb Mod 16
Case 10
s = "A" & s
Case 11
s = "B" & s
Case 12
s = "C" & s
Case 13
s = "D" & s
Case 14
s = "E" & s
Case 15
s = "F" & s
End Select
End If
Nb = Int(Nb / 16)
Loop Until Nb = 1 Or Nb = 0
If Nb = 1 Then s = Nb & s
Dec2Hex = s
End Function
' --------------------------------------------------------
Si je ne me trompe tu utilises une version Access 2000, je crois que tu
ne peux donc pas ajouter de référence de manière dynamique avec :
Le problème est donc bien d'activer le choix 'Références...' dans VBA ?
Peux tu quand même indiquer la/les référence(s) posant problèmes ?
Cordialement,
J'ai essayé d'appliquer le code que tu m'avais donné. Je l'ai d'abord essayé sur un Pc avec lequel l'application fonctionne pour voir ce que cela donnait, puis nous l'avons appliqué sur le PC en erreur. Le problème avec le PC en erreur c'est qu'il ne me donne pas le nom des bibliothèques qui manquent !! Lorqu'une référence est manquante j'ai un blanc à la place du nom !! Par déduction avec le Pc qui fonctionne je peux en déduire les bibliothèques qui manquent mais, une fois de plus, je suis coincée car je peux peux pas accéder aux références dans VisualBasic et donc je ne peux pas refaire les liens avec les bibliothèques.
Comment accéder à ces maudites références ?
Juste pour information, bien que cela ne règle pas le problème, on peut remonter au fichier posant problème à partir du GUID : Il pointe sur le TypeLib de la référence dans :
NB : Les numéros de version Majeure et Mineure de la référence sont renvoyés en décimal par Ref.Major et Ref.Minor, par contre dans le registre, elle sont en Hexadécimal, Il faut donc les convertir, mais sans utiliser la fonction Hex, sous peine de planter comme avec Left, Right, etc... ' --------------------------------------------------------
Private Sub CheckRef() Dim Ref As Reference Dim Ver As String, TliName As String Dim wsh As Object Dim i As Integer
Set wsh = CreateObject("WScript.Shell")
On Error Resume Next For Each Ref In References Ver = Dec2Hex(Ref.Major) & "." & Dec2Hex(Ref.Minor) i = 0 Do TliName = wsh.RegRead("HKCRTypelib" & Ref.Guid & "" & _ Ver & "" & i & "Win32") i = i + 1 Loop While Len(TliName) = 0 If Ref.IsBroken Then MsgBox "??????" & vbCrLf & Ref.Guid & vbCrLf & _ "Version : " & Ver & vbCrLf & _ "Manquant : " & Ref.IsBroken & vbCrLf & _ "Typelib : " & TliName Else MsgBox Ref.Name & vbCrLf & Ref.Guid & vbCrLf & _ "Version : " & Ver & vbCrLf & _ "Manquant : " & Ref.IsBroken & vbCrLf & _ "Typelib : " & TliName End If Next End Sub
Private Function Dec2Hex(Nb As Integer) As String Dim s As String
Do If Nb Mod 16 < 10 Then s = Nb Mod 16 & s Else Select Case Nb Mod 16 Case 10 s = "A" & s Case 11 s = "B" & s Case 12 s = "C" & s Case 13 s = "D" & s Case 14 s = "E" & s Case 15 s = "F" & s End Select End If Nb = Int(Nb / 16) Loop Until Nb = 1 Or Nb = 0 If Nb = 1 Then s = Nb & s Dec2Hex = s End Function ' --------------------------------------------------------
Si je ne me trompe tu utilises une version Access 2000, je crois que tu ne peux donc pas ajouter de référence de manière dynamique avec :
Le problème est donc bien d'activer le choix 'Références...' dans VBA ? Peux tu quand même indiquer la/les référence(s) posant problèmes ? Cordialement,
Jacques.
Jacques93
Bonjour Rinette Tahiti, Rinette Tahiti a écrit :
Bonjour Jacques,
J'ai essayé d'appliquer le code que tu m'avais donné. Je l'ai d'abord essayé sur un Pc avec lequel l'application fonctionne pour voir ce que cela donnait, puis nous l'avons appliqué sur le PC en erreur. Le problème avec le PC en erreur c'est qu'il ne me donne pas le nom des bibliothèques qui manquent !! Lorqu'une référence est manquante j'ai un blanc à la place du nom !! Par déduction avec le Pc qui fonctionne je peux en déduire les bibliothèques qui manquent mais, une fois de plus, je suis coincée car je peux peux pas accéder aux références dans VisualBasic et donc je ne peux pas refaire les liens avec les bibliothèques.
Question toute bête : lorsque tu as le message 'projet ou bibliothèque introuvable' et que tu te retrouve sur la ligne de code ou se trouve l'instruction Left, arrêtes tu le code (Exécution => Réinitialiser) avant d'aller dans Outils => Références... ?
Tant que le code est 'actif' en pas à pas ou en pause, les références ne sont pas accessibles (grisées).
-- Cordialement,
Jacques.
Bonjour Rinette Tahiti,
Rinette Tahiti a écrit :
Bonjour Jacques,
J'ai essayé d'appliquer le code que tu m'avais donné. Je l'ai d'abord essayé
sur un Pc avec lequel l'application fonctionne pour voir ce que cela donnait,
puis nous l'avons appliqué sur le PC en erreur. Le problème avec le PC en
erreur c'est qu'il ne me donne pas le nom des bibliothèques qui manquent !!
Lorqu'une référence est manquante j'ai un blanc à la place du nom !! Par
déduction avec le Pc qui fonctionne je peux en déduire les bibliothèques qui
manquent mais, une fois de plus, je suis coincée car je peux peux pas accéder
aux références dans VisualBasic et donc je ne peux pas refaire les liens avec
les bibliothèques.
Question toute bête : lorsque tu as le message 'projet ou bibliothèque
introuvable' et que tu te retrouve sur la ligne de code ou se trouve
l'instruction Left, arrêtes tu le code (Exécution => Réinitialiser)
avant d'aller dans Outils => Références... ?
Tant que le code est 'actif' en pas à pas ou en pause, les références ne
sont pas accessibles (grisées).
J'ai essayé d'appliquer le code que tu m'avais donné. Je l'ai d'abord essayé sur un Pc avec lequel l'application fonctionne pour voir ce que cela donnait, puis nous l'avons appliqué sur le PC en erreur. Le problème avec le PC en erreur c'est qu'il ne me donne pas le nom des bibliothèques qui manquent !! Lorqu'une référence est manquante j'ai un blanc à la place du nom !! Par déduction avec le Pc qui fonctionne je peux en déduire les bibliothèques qui manquent mais, une fois de plus, je suis coincée car je peux peux pas accéder aux références dans VisualBasic et donc je ne peux pas refaire les liens avec les bibliothèques.
Question toute bête : lorsque tu as le message 'projet ou bibliothèque introuvable' et que tu te retrouve sur la ligne de code ou se trouve l'instruction Left, arrêtes tu le code (Exécution => Réinitialiser) avant d'aller dans Outils => Références... ?
Tant que le code est 'actif' en pas à pas ou en pause, les références ne sont pas accessibles (grisées).
-- Cordialement,
Jacques.
Rinette Tahiti
Bonjour Jacques,
C'était en effet la question bête que j'avais oublié de poser !! Mon utilisateur étant dans les îles je fais du dépannage par téléphone, ce qui n'est pas toujours évident. En désespoir de cause, l'utilisateur est venu à Tahiti avec son ordinateur et j'ai pu tout de suite accéder aux références en arrêtant l'éxécution, ce que lui ne faisait pas. J'ai donc pu simplement refaire les liens avec les bibliothèques manquantes.
Je te remercie en tous cas de t'être penché sur mon problème et de m'avoir aidé à trouver la solution.
Merci encore et bonne journée,
Corinne
"Jacques93" a écrit :
Bonjour Rinette Tahiti,
Question toute bête : lorsque tu as le message 'projet ou bibliothèque introuvable' et que tu te retrouve sur la ligne de code ou se trouve l'instruction Left, arrêtes tu le code (Exécution => Réinitialiser) avant d'aller dans Outils => Références... ?
Tant que le code est 'actif' en pas à pas ou en pause, les références ne sont pas accessibles (grisées).
-- Cordialement,
Jacques.
Bonjour Jacques,
C'était en effet la question bête que j'avais oublié de poser !! Mon
utilisateur étant dans les îles je fais du dépannage par téléphone, ce qui
n'est pas toujours évident. En désespoir de cause, l'utilisateur est venu à
Tahiti avec son ordinateur et j'ai pu tout de suite accéder aux références en
arrêtant l'éxécution, ce que lui ne faisait pas. J'ai donc pu simplement
refaire les liens avec les bibliothèques manquantes.
Je te remercie en tous cas de t'être penché sur mon problème et de m'avoir
aidé à trouver la solution.
Merci encore et bonne journée,
Corinne
"Jacques93" a écrit :
Bonjour Rinette Tahiti,
Question toute bête : lorsque tu as le message 'projet ou bibliothèque
introuvable' et que tu te retrouve sur la ligne de code ou se trouve
l'instruction Left, arrêtes tu le code (Exécution => Réinitialiser)
avant d'aller dans Outils => Références... ?
Tant que le code est 'actif' en pas à pas ou en pause, les références ne
sont pas accessibles (grisées).
C'était en effet la question bête que j'avais oublié de poser !! Mon utilisateur étant dans les îles je fais du dépannage par téléphone, ce qui n'est pas toujours évident. En désespoir de cause, l'utilisateur est venu à Tahiti avec son ordinateur et j'ai pu tout de suite accéder aux références en arrêtant l'éxécution, ce que lui ne faisait pas. J'ai donc pu simplement refaire les liens avec les bibliothèques manquantes.
Je te remercie en tous cas de t'être penché sur mon problème et de m'avoir aidé à trouver la solution.
Merci encore et bonne journée,
Corinne
"Jacques93" a écrit :
Bonjour Rinette Tahiti,
Question toute bête : lorsque tu as le message 'projet ou bibliothèque introuvable' et que tu te retrouve sur la ligne de code ou se trouve l'instruction Left, arrêtes tu le code (Exécution => Réinitialiser) avant d'aller dans Outils => Références... ?
Tant que le code est 'actif' en pas à pas ou en pause, les références ne sont pas accessibles (grisées).
-- Cordialement,
Jacques.
Jacques93
Bonjour Rinette Tahiti, Rinette Tahiti a écrit :
Bonjour Jacques,
C'était en effet la question bête que j'avais oublié de poser !! Mon utilisateur étant dans les îles je fais du dépannage par téléphone, ce qui n'est pas toujours évident. En désespoir de cause, l'utilisateur est venu à Tahiti avec son ordinateur
Euh... tout frais payé ? Même si on est en métropole.. je ne vais pas tarder à avoir un souci, me semble t-il ... ;-)
et j'ai pu tout de suite accéder aux références en arrêtant l'éxécution, ce que lui ne faisait pas. J'ai donc pu simplement refaire les liens avec les bibliothèques manquantes.
Donc mystère résolu,
Je te remercie en tous cas de t'être penché sur mon problème et de m'avoir aidé à trouver la solution.
Merci encore et bonne journée,
De même, et merci du retour :-)
-- Cordialement,
Jacques.
Bonjour Rinette Tahiti,
Rinette Tahiti a écrit :
Bonjour Jacques,
C'était en effet la question bête que j'avais oublié de poser !! Mon
utilisateur étant dans les îles je fais du dépannage par téléphone, ce qui
n'est pas toujours évident. En désespoir de cause, l'utilisateur est venu à
Tahiti avec son ordinateur
Euh... tout frais payé ? Même si on est en métropole.. je ne vais pas
tarder à avoir un souci, me semble t-il ... ;-)
et j'ai pu tout de suite accéder aux références en
arrêtant l'éxécution, ce que lui ne faisait pas. J'ai donc pu simplement
refaire les liens avec les bibliothèques manquantes.
Donc mystère résolu,
Je te remercie en tous cas de t'être penché sur mon problème et de m'avoir
aidé à trouver la solution.
C'était en effet la question bête que j'avais oublié de poser !! Mon utilisateur étant dans les îles je fais du dépannage par téléphone, ce qui n'est pas toujours évident. En désespoir de cause, l'utilisateur est venu à Tahiti avec son ordinateur
Euh... tout frais payé ? Même si on est en métropole.. je ne vais pas tarder à avoir un souci, me semble t-il ... ;-)
et j'ai pu tout de suite accéder aux références en arrêtant l'éxécution, ce que lui ne faisait pas. J'ai donc pu simplement refaire les liens avec les bibliothèques manquantes.
Donc mystère résolu,
Je te remercie en tous cas de t'être penché sur mon problème et de m'avoir aidé à trouver la solution.