Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

disabilitare menù contestuale ma solo con accde

131 views
Skip to first unread message

mario rossi

unread,
Apr 12, 2023, 11:02:11 AM4/12/23
to
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.

Karl Donaubauer

unread,
Apr 12, 2023, 11:22:23 AM4/12/23
to
Salve,

mario rossi:
> 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

BFS

unread,
Apr 12, 2023, 11:49:16 AM4/12/23
to
Il 12/04/2023 17:02, mario rossi ha scritto:
> 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.


io sempre fatto così

If Right(Application.CurrentProject.Name, 3) = "MDB" Then
MsgBox "è un mdb"
Else
MsgBox "è un mde"
End If


BFS

@Alex

unread,
Apr 12, 2023, 12:02:53 PM4/12/23
to

Karl Donaubauer

unread,
Apr 12, 2023, 12:16:54 PM4/12/23
to
Salve Alex,

@Alex:
> Vedi questo:
>
> 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. ;-)

@Alex

unread,
Apr 12, 2023, 1:32:29 PM4/12/23
to
Il giorno mercoledì 12 aprile 2023 alle 18:16:54 UTC+2 Karl Donaubauer ha scritto:
> Salve Alex,
>
> @Alex:
> > Vedi questo:
> >
> > 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. ;-)
> --
> Ciao
> Karl
>

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

Karl Donaubauer

unread,
Apr 12, 2023, 1:52:09 PM4/12/23
to
Salve,

@Alex:
> Karl Donaubauer ha scritto:
>> ...
>> 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.

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. :-)

mario rossi

unread,
Apr 12, 2023, 2:09:16 PM4/12/23
to
Quante risposte, grazie a tutti,
farò varie prove con i link che mi avete segnalato

shado gps

unread,
Apr 12, 2023, 3:51:49 PM4/12/23
to
prova

If SysCmd(acSysCmdRuntime) Then

Karl Donaubauer

unread,
Apr 13, 2023, 5:11:46 AM4/13/23
to
Salve,

shado gps:
> prova
>
> 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.

shado gps

unread,
Apr 13, 2023, 5:26:54 PM4/13/23
to

richiamato da file con estensione accdb ritorna false ,
da un file con estensione accdr ritorna true

anche con installazione completa di access

Karl Donaubauer

unread,
Apr 13, 2023, 6:04:17 PM4/13/23
to
Salve,

shado gps:
>
> richiamato da file con estensione accdb ritorna false ,
> da un file con estensione accdr ritorna true
>
> 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

mario rossi

unread,
Apr 15, 2023, 10:16:40 AM4/15/23
to
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?

mario rossi

unread,
Apr 16, 2023, 2:38:28 AM4/16/23
to
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
0 new messages