Newsgroup: it.comp.appl.access
Titolo: disabilitare menù contestuale ma solo con accde

buongiorno a tutti, è possibile disattivare il menù contestuale che appare cliccando il tasto destro del mouse ma soltanto se sto aprendo la versione accde del database?
 
grazie.

 buongiorno a tutti, è possibile disattivare il menù contestuale che appare cliccando il tasto destro del mouse ma soltanto se sto aprendo la versione accde del database?
 
Puoi controllare se la proprietà MDE è presente e "T" (vedi p.e. 
https://www.access-programmers.co.uk/forums/threads/determine-if-accde-or-accdb.229474/
) 
e impostare l'opzione AllowShortcutMenus a False. (vedi p.e.
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/32673ebc-ecf2-4476-9287-cae67179ea67
)
 
-- 
Ciao
Karl
*********
Access Bugs: 
https://AccessForever.org
 
Access News: 
https://youtu.be/XMOHBSudo-U
 
Access DevCon: 
http://AccessDevCon.com
 
Access FAQ: 
https://www.donkarl.com/it
 

 grazie.
 
 
io sempre fatto così
 
If Right(
Application.CurrentProject.Name
, 3) = "MDB" Then
     MsgBox "è un mdb"
     Else
     MsgBox "è un mde"
End If
 
 
BFS

Vedi questo:
 
https://stackoverflow.com/questions/41724465/how-to-detect-if-your-microsoft-access-application-is-compiled-i-e-running-as
 
 
@Alex

 
https://stackoverflow.com/questions/41724465/how-to-detect-if-your-microsoft-access-application-is-compiled-i-e-running-as
 
 
Per principio non mi piace "On Error Resume Next". Ecco perché nella mia 
risposta ho scelto un link con un esempio di codice per evitare l'errore 
proprietà-non-presente nel accdb. ;-)



 
In realtà proprio per le funzioni di verifica come queste è estremamente funzionale e velocizza.
Chiaramente serve sapere cosa si fa per capire quando sfruttare la potenzialità dell'istruzione che in questo caso è molto importante.
 
Ad ogni modo ognuno fa come preferisce quando ha la capacità di capire cosa fa ha modo di scegliere.
 
@Alex

 Ad ogni modo ognuno fa come preferisce quando ha la capacità di capire cosa fa ha modo di scegliere.
 
Certo. Personalmente nei casi in cui lo sforzo o la perdita di tempo 
sono troppo elevati, o un errore non può essere evitato in ogni caso, ho 
preso l'abitudine di eseguire almeno una gestione minima dell'errore con 
il controllo del numero di errore concreto e previsto e inviandolo al 
"Resume Exit".
 
Cioè, sono fondamentalmente sospettoso e mi aspetto sempre il peggio 
inaspettato. :-)



Quante risposte, grazie a tutti, 
farò varie prove con i link che mi avete segnalato

prova    
 
If SysCmd(acSysCmdRuntime) Then 

 If SysCmd(acSysCmdRuntime) Then
 
Poiché questo suggerimento compare in quasi tutte le discussioni sul 
argomento e genera confusione:
 
Questo SysCmd serve a distinguere tra la versione runtime e la versione 
completa di Access. Non ha nulla a che fare con la distinzione tra 
MDE/ACCDE e MDB/ACCDB.


 
richiamato da file con estensione accdb  ritorna false ,
da un file con estensione accdr  ritorna true
 
anche con installazione completa di access
 

 anche con installazione completa di access
 
Ottimo. E se lo avvii con la versione runtime o anche solo con l'opzione 
della riga di comando /runtime, ritorna True per qualsiasi estensione 
perché mostra la modalità Runtime di Access... che tutto non ha niente a 
che fare con l'argomento di questa discussione.
 
-- 
Ciao
Karl
*********
Access Bugs: 
https://www.accessforever.org
 



Mi sono perso, alla fine qual'è la soluzione su cui tutti concordano?
Inoltre chiedo se si può disattivare quel menu contestuale una volta sola per tutte le form o deve essere fatto per ogni form?


secondo voi eseguire questo codice ogni volta su form_open appesantisce il db?
abilito il menu di scelta rapida solo se è lo sviluppatore
 
    'controlla se è lo sviluppatore
    public sub abilitamenu (nomeform as string)
       If Environ("ComputerName") = "PC_sviluppatore" Then
           Forms(nomeform).ShortcutMenu = True
       Else 
           Forms(nomeform).ShortcutMenu = False
       End If
    end sub