Newsgroup: it.comp.appl.access
Titolo: Che vergona ancora il tasto F11

Buon giorno,
sï¿œ lo so ï¿œ vergognoso.
Ancora sull'argomento tasto F11.
 
Sui mde cambiando le proprietï¿œ AllowBypassKey e AllowSpecialKeys riesco 
a cambiare il comportamento F11 e Shift PRIMA che venga avviato. (Vabbï¿œ 
oltre che disabilitare il menu Strumenti/Avvio... e altro...)
Ma molte volte per interventi ho necessitï¿œ del tasto F11 per 
interrogazioni al volo, risolvere temporaneamente problemini, insomma 
accedere alla finestra del database.
 
Non ho trovato  una soluzione che permetta di riabilitarlo se non in 
questi passi:
1) aprire una form scorciatoia che chieda conferma (magari inserendo una 
password o non so che...) di reimpostare 
dbs.Properties("AllowSpecialKeys") a true
2) chiudere mde
3) loggare ovviamente come admin
4) finalmente visualizzare con F11
5) .... fare le operazioni di "manutenzione"
6) riaprire una form scorciatoia che chieda conferma (magari inserendo 
una password o non so che...) di reimpostare 
dbs.Properties("AllowSpecialKeys") a FALSE od in alternativa 
reimpostarla a prescindere a false prima della chiusura (salvo crash 
dell'mde, ma questa ï¿œ un'altra storia...)
7) richiudere mde
8) lasciare che l'utente faccia il suo login nuovamente
9) non lasciarsi intimorire dalla imprecazioni dell'utente spazientito...
 
Possibile che non c'ï¿œ altro modo?
P.S. A2k3
Grazie
 
Daniele
 
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Public Function ImpostaByPassKey_F11(ByVal strNomeDataBase As String) As 
Boolean
Const DB_Text As Long = 10
Const DB_Boolean As Long = 1
     ChangePropertyProject strNomeDataBase, "AllowBypassKey", 
DB_Boolean, False   'Disabilita tasto SHIFT dell'avvio
     ChangePropertyProject strNomeDataBase, "AllowSpecialKeys", 
DB_Boolean, False 'Disabilita tasto F11
End Function
 
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Private Function ChangePropertyProject(strNomeDataBase, strPropName As 
String, varPropType As Variant, varPropValue As Variant) As Integer
     Dim dbs As DAO.Database, prp As Variant
     Const conPropNotFoundError = 3270
 
     Set dbs = OpenDatabase(strNomeDataBase)
     On Error GoTo Change_Err
     dbs.Properties(strPropName) = varPropValue
     ChangePropertyProject = True
 
Change_Bye:
     Exit Function
 
Change_Err:
     If err = conPropNotFoundError Then    ' Property not found.
         Set prp = dbs.CreateProperty(strPropName, _
             varPropType, varPropValue)
         dbs.Properties.Append prp
         Resume Next
     Else
         ' Unknown error.
         ChangePropertyProject = False
         Resume Change_Bye
     End If
End Function
 
-- 
Daniele
Rispondere scartando OneEDP, spam e 32
 

OneEDP laid this down on his screen :

Chissï¿œ perchï¿œ tutti i programmatori che incontro considerano gli utenti 
degli emeriti imbecilli...
 
Bruno
 
 


Bhe il primo a spazientirmi sono io... sono utente anch'io! :-)
Imbecille non l'ho neanche pensato... non mi pare
Ma bisogna ammettere che quasi 10 passaggi per un F11 sia un tantino 
seccante...
Ciao


 Ciao
 
Non li stai proponendo tu quei 10 passaggi?
 
Bruno
 
 

Una soluzione potrebbe essere , settare le proprietà dall'esterno,
ci sono varie soluzioni in rete , una è questa 
http://www.thatlldoit.com/Documents/PropertiesSetter35.zip
 


Ben venga se ci sono alternative meno macchinose.
Ci sono proposte?
Grazie


 
http://www.thatlldoit.com/Documents/PropertiesSetter35.zip
 
Purtroppo o dall'esterno o dall'interno, � sempre necessario un riavvio 
per visualizzare la finestra del db ed un secondo riavvio per rimettere 
l'utente in modo "non manutenzione"
Grazie comunque.


Le proprietà del DB come è risaputo, RICHIEDONO SEMPRE la chiusura e successiva riapertura del DB... non hai scampo.
 
Creati un TOOL esterno che fa questo... sono 10 righe di codice...
 
Io ho una CLASSE che apre una NUOVA ISTANZA di Access(fai attenzione a come lo fai avrai problemi con il VISIBLE), quindi con OpenCurrentDatabase apre l'applicativo esterno, disabilita se ci sono ByPassKey, AUTOEXEC e StartUpForm fa tutte le porcate che deve fare nel File, riabilita le impostazioni INIZIALI, lo chiude e se richiesto lo RIAPRE...(non si vede nulla) se non il tempo perso qualche secondo...
 
Ciao
@Alex


Grazie Alex
Allora non ho scampo! :-)
Va bene farò delle prove.
Ciao
