Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Runtime
Runtime Forum destiné à recevoir toutes vos questions concernant le Runtime (empaquetage, déploiement...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/11/2011, 09h55   #1
Rédacteur/Modérateur
 
Avatar de Jeannot45
 
Homme Jean BALLAT
Inscription : octobre 2004
Messages : 2 856
Détails du profil
Informations personnelles :
Nom : Homme Jean BALLAT
Âge : 63
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : octobre 2004
Messages : 2 856
Points : 5 220
Points : 5 220
Par défaut Attacher un fichier d'aide à mon application



Je termine le développement d'une petite application et je souhaiterais attacher un fichier d'aide.

J'ai télécharger le logiciel gratuit : HelpNDoc qui permet de generer le fichier.
Je ne rencontre pas de problème quant à la création de l'aide en elle-même. Cependant après compilation j'obtiens un fichier .CHM et non un fichier .HLP

J'affecte à un formulaire le fichier d'aide et l'index de l'aide par l'intermédiaire des propriétés. Cependant, lorsque je suis en mode formulaire, sije fais F1, j'ouvre l'aide d'access et si je fais Shift F1, rien ne s'affiche.

Cela provient-il du fait que le fichier est un fichier de type CHM et non HLP

Merci pour vos réponses
__________________
Jeannot

Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA

Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
Jeannot45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 11h13   #2
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 223
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 223
Points : 9 928
Points : 9 928
Envoyer un message via Skype™ à Domi2
Hello Jeannot,

Si mes souvenirs sont bons, c'est un bug reconnu par Microsoft. Pour corriger, j'avais trouvé ça, mais je ne sais plus où. La fonction est appelée soit avec la touche F1, mais tu peux aussi l'exécuter depuis un menu "Aide" par exemple :

Code :
1
2
3
4
5
6
7
8
Option Compare Database
Option Explicit
 
'Déclaration de la fonction et des constantes pour l'affichage de l'aide
Private Declare Function HtmlHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" (ByVal hwndCaller As Long, ByVal pszFile As String, ByVal uCommand As Long, ByVal dwData As Long) As Long
Private Const HH_DISPLAY_TOPIC = &H0
Private Const HH_HELP_CONTEXT = &HF
Dim hwndHelp As Long
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Public Function AfficherAide()
 
    On Error Resume Next
 
    Dim strFichierAide As String
    Dim lngContexteAideId As Long
 
    'Vérification de l'existence du fichier d'aide
    strFichierAide = Dir(CurrentProject.Path & "\Aide\*.chm")
 
    If strFichierAide = "" Then
 
        'Affichage d'un message
        MsgBox "Aucun fichier d'aide n'est disponible !" & vbNewLine & vbNewLine & _
               "Soit l'application n'a pas de fichier d'aide," & vbNewLine & _
               "soit ce dernier n'est pas correctement installé !", vbCritical + vbOKOnly, CurrentDb.Properties("AppTitle")
 
        'Quitte la fonction
        Exit Function
 
    End If
 
    strFichierAide = CurrentProject.Path & "\Aide\" & strFichierAide
 
    'Vérification des contextes d'aide
    If Screen.ActiveForm.ActiveControl.Properties("HelpContextId") > 0 Then
 
        'Si le contexte du contrôle actif > 0, on utilise le contexte du contrôle
        lngContexteAideId = Screen.ActiveForm.ActiveControl.Properties("HelpContextId")
 
    Else
 
        'C'est le contexte du formulaire actif qui est utilisé
        lngContexteAideId = Screen.ActiveForm.Properties("HelpContextId")
 
    End If
 
    Select Case lngContexteAideId
 
        Case 0
 
            hwndHelp = HtmlHelp(Application.hWndAccessApp, strFichierAide, HH_DISPLAY_TOPIC, lngContexteAideId)
 
        Case Else
 
            hwndHelp = HtmlHelp(Application.hWndAccessApp, strFichierAide, HH_HELP_CONTEXT, lngContexteAideId)
 
    End Select
 
    Exit Function
 
End Function
Pour la touche F1, Aperçu des touches = Oui dans les propriétés du formulaire :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
 
    On Error Resume Next
 
    'Si la touche F1 est appuyée, on lui attribue 0 afin de ne pas afficher l'aide Access, puis on affiche l'aide de l'application
    If KeyCode = vbKeyF1 Then
 
        KeyCode = 0
 
        'Appelle la fonction AfficherAide (permet d'afficher le fichier d'aide de l'application, si existant)
        AfficherAide
 
    End If
 
End Sub
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2011, 09h28   #3
Rédacteur/Modérateur
 
Avatar de Jeannot45
 
Homme Jean BALLAT
Inscription : octobre 2004
Messages : 2 856
Détails du profil
Informations personnelles :
Nom : Homme Jean BALLAT
Âge : 63
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : octobre 2004
Messages : 2 856
Points : 5 220
Points : 5 220


Merci beaucoup pour cette réponse rapide et efficace.
Juste un petit complément d'information : Les constantes sont déclarées en Private

Il faudra donc les redéclarer à chaque formulaire de l'application ou peut-on les déclarer en Public pour une utilisation globale dans l'application ?

Merci encore
__________________
Jeannot

Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA

Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
Jeannot45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2011, 09h38   #4
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 223
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 223
Points : 9 928
Points : 9 928
Envoyer un message via Skype™ à Domi2
Non, ce n'est pas nécessaire.

Tu crées une fonction "Public" AfficherAide dans un module et dans la section déclaration de celui-ci, tu déclares les constantes.

Elles sont bien "Private" dans le module.

La fonction, tu peux l'appeler depuis n'importe où dans l'application.

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 08h17   #5
Rédacteur/Modérateur
 
Avatar de Jeannot45
 
Homme Jean BALLAT
Inscription : octobre 2004
Messages : 2 856
Détails du profil
Informations personnelles :
Nom : Homme Jean BALLAT
Âge : 63
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : octobre 2004
Messages : 2 856
Points : 5 220
Points : 5 220
Tout est OK !

Merci beaucoup
__________________
Jeannot

Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA

Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
Jeannot45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h18.


 
 
 
 
Partenaires

Hébergement Web