Se muestra el archivo de Ayuda personalizado en ventana de Ayuda de Access

Seleccione idioma Seleccione idioma
Id. de artículo: 275117 - Ver los productos a los que se aplica este artículo
Avanzado: Requiere codificación experto, interoperabilidad, conocimientos y multiusuario.

Este artículo hace referencia a una base de datos de Microsoft Access (.mdb) y a un proyecto de Microsoft Access (.adp).

Para obtener una versión de Microsoft Office 2000 Developer de este artículo, consulte 271390.
Expandir todo | Contraer todo

En esta página

Síntomas

En Microsoft Access, cuando se muestra un archivo personalizado de Ayuda de HTML comprimidos (.chm), el contenido de Ayuda aparece en la ventana Ayuda de Access, junto con el índice de acceso predeterminada, el Asistente para Ayuda de Access y el título de Access. Este comportamiento se produce incluso si se especifica su propio título y el índice dentro del archivo de Ayuda.

Solución

Para evitar este problema, cree una macro para ejecutar el archivo de Ayuda HTML comprimidos en su propia ventana. Para ello, siga estos pasos:
  1. consulte el siguiente artículo de Microsoft Knowledge Base:
    296231Cómo crear archivos de Ayuda HTML contextuales en Office XP Developer
    A continuación, siga las instrucciones en el artículo para crear el archivo de Ayuda de ejemplo y la base de datos.
  2. En la misma base de datos en el que creó el formulario, haga clic en módulos en la ventana base de datos y, a continuación, haga clic en nuevo .
  3. Escriba o pegue el código siguiente en el nuevo módulo:
    Option Compare Database
    Option Explicit
    
    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
    
    Const HH_DISPLAY_TOPIC = &H0
    Const HH_SET_WIN_TYPE = &H4
    Const HH_GET_WIN_TYPE = &H5
    Const HH_GET_WIN_HANDLE = &H6
    Const HH_DISPLAY_TEXT_POPUP = &HE
    Const HH_HELP_CONTEXT = &HF
    Const HH_TP_HELP_CONTEXTMENU = &H10
    Const HH_TP_HELP_WM_HELP = &H11
    
    Public Sub Show_Help(HelpFileName As String, MycontextID As Long)
        'A specific topic identified by the variable context-ID is started in
        'response to this button click.
        Dim hwndHelp As Long
    
        'The return value is the window handle of the created Help window.
        Select Case MycontextID
            Case Is = 0
                hwndHelp = HtmlHelp(Application.hWndAccessApp, HelpFileName, _
                           HH_DISPLAY_TOPIC, MycontextID)
            Case Else
                hwndHelp = HtmlHelp(Application.hWndAccessApp, HelpFileName, _
                           HH_HELP_CONTEXT, MycontextID)
        End Select
    End Sub
    
    Public Function HelpEntry()
        'Identify the name of the Help file and a possible context-id.
        Dim FormHelpId As Long
        Dim FormHelpFile As String
        Dim curForm As Form
    
        'Set the curForm variable to the currently active form.
        Set curForm = Screen.ActiveForm
    
        'As a default, specify a generic Help file and context-id. Note that
        'the location of your file may be different.
        FormHelpFile = "C:\MyProject.chm"
        FormHelpId = 1001
    
        'Check the Help file property of the form. If a Help file exists,
        'assign the name and context-id to the respective variables.
        If curForm.HelpFile <> "" Then
            FormHelpFile = curForm.HelpFile
        End If
    
        'If the Help context-id of the control is not null and greater than
        'zero, assign the value to the variable.
        If Not IsNull(Screen.ActiveControl.Properties("HelpcontextId")) Then
            If Screen.ActiveControl.Properties("HelpcontextId") > 0 Then
                FormHelpId = Screen.ActiveControl.Properties("HelpcontextId")
            End If
        End If
    
        'Call the function to start the Help file, passing it the name of the
        'Help file and context-id.
        Show_Help FormHelpFile, FormHelpId
    End Function
    					
  4. Guarde el módulo como Module1 y salga del Editor de Visual Basic.
  5. En la ventana base de datos, haga clic en macros y, a continuación, haga clic en nuevo .
  6. En el menú Ver , haga clic en Nombres de macro .
  7. Escriba lo siguiente en la primera línea en la columna Nombre de macro :
    {F1}
  8. Establezca el campo acción de {F1} a EjecutarCódigo .
  9. Para el argumento Nombre de función , escriba lo siguiente:
    =HelpEntry()
  10. Guardar la nueva macro como AutoKeys y ciérrelo.
  11. En la ventana base de datos, haga clic en formularios y, a continuación, abra Form1 en la vista formulario.
  12. Haga clic en el segundo campo y, a continuación, presione F1. Observe que el archivo de Ayuda personalizado se muestra en su propia ventana.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:" de este artículo.

Más información

Pasos para reproducir el problema

  1. consulte el siguiente artículo de Microsoft Knowledge Base:
    296231Cómo crear archivos de Ayuda HTML contextuales en Office XP Developer
    Siga las instrucciones en el artículo para crear la base de datos ejemplo y el archivo de Ayuda personalizado.
  2. Abra Form1 en la vista formulario.
  3. Haga clic en el segundo campo y, a continuación, presione F1. Observe que el tema ejemplo para obtener el segundo cuadro de texto se muestra inesperadamente en la ventana Ayuda de Access con el título de Access, índice y Asistente para Ayuda.

Propiedades

Id. de artículo: 275117 - Última revisión: miércoles, 25 de julio de 2007 - Versión: 3.0
La información de este artículo se refiere a:
  • Microsoft Office XP Developer Edition
  • Microsoft Access 2002 Standard Edition
Palabras clave: 
kbmt kbbug kbnofix kbpdwizard KB275117 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 275117

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com