Personalizzare i menu di scelta rapida PDF Stampa E-mail
Scritto da Cinzia Pagani   
Martedì 12 Giugno 2007 20:59

In questo articolo vediamo un modo per personalizzare i menu di scelta rapida in Access 2007.

Vediamo un esempio in cui creiamo un semplice menu con i comandi Copia e Incolla.

Aprite il modulo Visual Basic della maschera di cui volete personalizzare il menu e copiate ed incollate questo codice:

Private Sub Form_Open(Cancel As Integer)
  'Aggiungo a CommandBars un menu
  Set copyAndPasteMenu = CommandBars.Add( _
    Name:="MenuPersonalizzato", Position:=msoBarPopup, _
    Temporary:=True)

  'Creo il Controllo Copy
  Set copy = copyAndPasteMenu.Controls.Add
  With copy
     .FaceId = 19
    .Caption = "Copy the selection"
    .OnAction = "=MyCopy()"
  End With
  'Creo il contollo Paste
  Set paste = copyAndPasteMenu.Controls.Add
  With paste
   .FaceId = 21
    .Caption = "Paste from the Clipboard"
    .OnAction = "=MyPaste()"
  End With

  'Imposto  la proprietà shortCutMenuBar della maschera
  Me.ShortcutMenuBar = "MenuPersonalizzato"
End Sub
Private Sub Form_Close()
  'Elimino il menu una volta chiusa la maschera
  CommandBars("MsnuPersonalizzato").Delete
End Sub

'Definisco il comando associato al comando Copia
Public Function MyCopy()
   DoCmd.RunCommand acCmdCopy
End Function

'Definisco il comando associato al comando Incolla
Public Function MyPaste()
    DoCmd.RunCommand acCmdPaste
End Function

 

ATTENZIONE

In modalità "Dividi Maschera"  le due funzioni MyCopy() e MyPaste() non vengono riconosciute, in questo caso dovreste definirle in un modulo globale a parte.

 

A causa di un bug nella versione attuale di Access 2007 questo meccanismo non funziona nelle sottomaschere, se infatti provate ad utilizzarlo vedrete che continuerà a comparire il menu di scelta rapida standard. E' stato rilasciato un hotfix che  risolve questo problema,  che può essere richiesto al servizio di supporto Microsoft, vedi questa KB per i dettagli : http://support.microsoft.com/kb/935875/en-us .

In questo caso particolare (l'HotFix vale per tutte le lingue) potete richiederla usufruendo del servizio di richiesta Online disponibile qui: http://support.microsoft.com/?kbid=935195

 

 

 

 


Sistema operativo: win32
Applicazioni: Access 2007

 

Ultimo aggiornamento Giovedì 02 Luglio 2009 11:57