me pareció ver hace algún tiempo que se puedeN seleccionar las opciones
disponibles de una barra de menú personalizada en función del formulario que
tiene el enfoque, pero no he encontrado el hilo.

Es decir, lo que tengo es una barra de menú para toda la base, y en algunas
casos (form activos) quiero que algunas de las opciones del menú estén como
"no disponibles".

¿Es esto posible? y ¿ cómo se haría?.


JUAN M AFAN DE RIBERA
=====================

Te pongo un ejemplo de código

    commandbars("personalizada").controls(1).controls(1).enabled=false

esto desactivaría la opción primera del primer tema de la barra de
herramientas "personalizada"


MCPEGASUS
=========

Hola Marc, yop como siempre le tengo que poner más salsa, aquí lease código :))
 
Con este código consigues hacer solo visible la barra que necesites escondiendo el resto, hay también más posibilidades.
 
'Crea un módulo nuevo y pega este código. Nombre: basBarrasPersonalizadas

Option Compare Database
Option Explicit


Private Sub Demo_mcActivarBarrasHerramientas()
    
    '**** Pulsar F5 para ejecutar el código en caso de no haber ninguna barra.
    
    'Simular la variable pública que hay en las aplicaciones.
    Dim pblnAplicaciónTerminada As Boolean
    pblnAplicaciónTerminada = False
    
    
    'Activar todas las barras de herramientas que estén activas
    Call mc_ActivarBarrasHerramientas(True)
    'Desactivar todas las barras de herramientas que estén Activadas
    Call mc_ActivarBarrasHerramientas(False)
    
    'Activar todas las barras de herramientas y Activar la personalizada.
    Call mc_ActivarBarrasHerramientas(True, "bhPrincipal", True)
    'Activar todas las barras de herramientas y Desactivar la personalizada.
    Call mc_ActivarBarrasHerramientas(True, "bhPrincipal", False)
    
    'Desactivar todas las barras de herramientas y Activar la personalizada.
    Call mc_ActivarBarrasHerramientas(False, "bhPrincipal", True)
    'Desactivar todas las barras de herramientas y Desactivar la personalizada.
    Call mc_ActivarBarrasHerramientas(False, "bhPrincipal", False)
    
    'Comprobar si la aplicación esta terminada o en modo de diseño.
    If pblnAplicaciónTerminada Then
        'Desactivar todas las barras de herramientas y Activar la personalizada.
        Call mc_ActivarBarrasHerramientas(False, "bhPrincipal", True)
        
        'Desactivar todas las barras de herramientas que estén Activadas
        Call mc_ActivarBarrasHerramientas(False)
    Else
        'Activar todas las barras de herramientas y Activar la personalizada.
        Call mc_ActivarBarrasHerramientas(True, "bhPrincipal", True)
    End If
   
End Sub

Public Function mc_ActivarBarrasHerramientas(blnActivar As Boolean, _
                                            Optional strNombreBarra As String, _
                                            Optional blnActivarII As Boolean = True)
                                        
'Forma parte del Módulo: basFuncionesPúblicasMódulosMcV1497

'********************************************************************************************
'Actualización:     24/01/2003                                  Fecha Creación:    21/10/2001
'Autor:             Copyright ©1999-2002 McPegasus
'Contacto:          mcpegasus@mcpegasus.com, www.mcpegasus.com

'Propósito:         Activa o desactiva las barras de herramientas personalizadas y estandar _
                    según los  parámetros de entrada.

'Observaciones:
'   Mientras se esta diseñando la aplicación, y dejamos visibles las barras personalizadas, _
    estas aparecen junto a las habituales de access. Para evitar esto, cuando blnActivar es _
    true, indicar también el nombre de la barra personalizada y se hará invisible.

'La sintaxis del Procedimiento o Función, consta de estos argumentos:
'Parte                          Descripción
'-------------------------------------------------------------------------------------------
'blnActivar         Requerido.  Expresión booleana que corresponde al trabajo a realizar, _
                                True,  Activa todas las barras de herramientas. _
                                False, Desactiva todas las barras de herramientas.
'strNombreBarra     Opcional.   Nombre de la barra a activar o desactivar.
'blnActivarII       Opcional.   Expresión booleana que indica otro estado de visualización, _
                                True,  Activa la barra de herramienta según strNombreBarra. _
                                False, Desactiva la barra de herramienta según strNombreBarra.
    
    Dim objBarra As Object
    
    For Each objBarra In CommandBars
        If Not IsMissing(strNombreBarra) Then   'Si el argumento se ha pasado ...
            If blnActivar Then
                'Comprobar si la barra es la misma que el parámetro, hacer invisible.
                If objBarra.Name = strNombreBarra Then objBarra.Visible = blnActivarII
                objBarra.Enabled = blnActivar
            Else
                'Comprobar la coincidencia del nombre de la barra para hacerla visible.
                If objBarra.Name = strNombreBarra Then
                    objBarra.Enabled = True
                    objBarra.Visible = blnActivarII
                Else
                    objBarra.Enabled = blnActivar
                End If
            End If
        Else                                    'No se ha pasado el argumento ...
            'En caso de no pasar el segundo parámetro, [strNombreBarra]
            objBarra.Enabled = blnActivar
        End If
    Next
    
End Function

    Source: geocities.com/es/ensolva/Descargas/Documentos

               ( geocities.com/es/ensolva/Descargas)                   ( geocities.com/es/ensolva)                   ( geocities.com/es)