Comment avec VB6 créer un lien Hypertexte dans une base de donnée?? [Résolu]

mona2005 15 Messages postés dimanche 27 février 2005Date d'inscription 14 août 2010 Dernière intervention - 4 sept. 2009 à 01:08 - Dernière réponse : mona2005 15 Messages postés dimanche 27 février 2005Date d'inscription 14 août 2010 Dernière intervention
- 4 sept. 2009 à 18:21
Bonjour, je controle une base de donnée Access a partir de VB6 (ouvre, visionne, edite, efface ou nouvelle entrée).
Ma base a été creer avec des colonnes de différent formats, comme Numérique, Texte et Lien Hypertexte. Quand j'enregistre une nouvelle entrée le lien Hypertexte s'écrit en bleu dans la cellule mais si je clique dessus rien ne se passe, je dois cliquer bouton droit et modifier le lien Hypertexte pour qu'il fonctionne. Le fichier de la base de donnée se trouve dans un dossier D:\Base de donnée\ et les fichiers en ".pdf" se trouve dans un sous-dossier qui se nomme P_Number\. Dans ce dossier j'ai des centaines de fichier qui se nomment P001.pdf , P002.pdf ...
J'aimerais bien trouvé une solution a mon problème, cela fait plusieurs jours déja que je cherche une solution un peu partout.

Si vous avez des idées, j'en serais très heureux

Merci
Afficher la suite 

6 réponses

Répondre au sujet
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 4 sept. 2009 à 17:47
+3
Utile
Oui, je me suis trompé
Cliquez-ici#http://www.vbfrance.com/code.aspx?ID=27883##Information disque dur
Le 3ème info est le bookmark à l'intérieur du fichier : le # n'était pas à la bonne place
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Jack
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 4 sept. 2009 à 13:10
0
Utile
Salut
As-tu essayé avec un Ctrl-Clic ? C'est une des techniques utilisée pour lancer le lien dans les logiciels permettant aussi de configurer des liens.
"le lien Hypertexte s'écrit en bleu dans la cellule" De quelle cellule parles-tu ? quel composant ?
Puisque tu utilises une interface (VB6) pour afficher tes données, pourquoi ne pas programmer le lancement de ce lien par VB6 ?
Il te suffit de donner ce lien à un ShellExecute :

Partie déclaration :
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
     ByVal hwnd As Long, _
     ByVal lpOperation As String, _
     ByVal lpFile As String, _
     ByVal lpParameters As String, _
     ByVal lpDirectory As String, _
     ByVal nShowCmd As Long) As Long
Const SW_SHOWNORMAL = 1
La Sub à lancer sur un "Click"
Private Sub LanceHyperlien(leLien As String)
    ShellExecute Me.hwnd, vbNullString, leLien, vbNullString, "C:", SW_SHOWNORMAL
End Sub


Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
mona2005 15 Messages postés dimanche 27 février 2005Date d'inscription 14 août 2010 Dernière intervention - 4 sept. 2009 à 13:46
0
Utile
Mon idée c'étais d'utilisé VB6 pour entrer les données a l'intérieur d'une base de donnée qui serait protéger en écriture, mais libre de visionnement sur le restant du réseau (avec des liens hypertexte fonctionnel pour pouvoir imprimer certains fichiers en pdf). Les utilisateurs de cette base travaillent a partir de Access.

Moi j'ai plusieurs centaines de fichiers a lier a 4 ou 5 bases de donnée, c'est pourquoi je veux faire un programme avec vb6 pour récupérer le nom d'enregistrement a l'intérieure de chaque entrées exemple: une entré porte le nom P510, dans un dossier j'ai tout les documents P001.pdf a P999.pdf, je veux pouvoir créer un lien sur le bon fichier. Je récupère le nom P510 et je connais le chemin du dossier
rsBase.Fields("Mill Test") = "\" + frmOpen.PathP + tHeatCode.Text+_ ".pdf"

Quand j'ouvre la base de donnée le liens est en bleue comme les propriété de l'enregistrement mais il ne fonctionne pas.

Merci de vos réponses
Commenter la réponse de mona2005
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 4 sept. 2009 à 15:52
0
Utile
Ca devient confu.
Où est ton problème ? Dans l'entrée de donnée ou dans son utilisation ?

Comme décrit dans l'aide liée aux liens hypertexte, ce type de champ (colonne) est une combinaison de quatre parties :
- Le texte à afficher,
- l'adresse UNC du fichier ou l'URL
- la sous-adresse
- l'info bulle
Lors de l'insertion de ce champ, chacune de ces parties doit être séparée par un # et le tout, en moins de 2048 carctères, exemple (cible au hasard) :
Cliquez-ici#http://www.vbfrance.com#/code.aspx?ID=27883#Information disque dur

Est-ce que cette partie est correctement faite de ton côté ?
Commenter la réponse de cs_Jack
mona2005 15 Messages postés dimanche 27 février 2005Date d'inscription 14 août 2010 Dernière intervention - 4 sept. 2009 à 17:12
0
Utile
Bien non de mon coté je n'avais pas les "#"

rsBase.Fields("Mill Test") = "\" + frmOpen.PathP + tHeatCode.Text+_ ".pdf"

je crois que c'est dans la formulation du chemin. J'ai essayer de coller l'exemple que tu m'a écris, il me fait une erreur a chaque signe "#".

Est-ce que j'ai besoin d'une Référence a ajoutée dans vb pour utilisé les liens Hypertexte??

Merci
Commenter la réponse de mona2005
mona2005 15 Messages postés dimanche 27 février 2005Date d'inscription 14 août 2010 Dernière intervention - 4 sept. 2009 à 18:21
0
Utile
Gros Gors merci, le tout fonctionne trè bien maintenant.



Encore merci
Commenter la réponse de mona2005

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.