Newsgroup: it.comp.appl.access
Titolo: effetto tasto shift

Pur avendo eseguito alla lettera le tue istruzioni ed aver ricevuto il 
messaggio "Vero" lo SHIFT continua imperterrito a funzionare.... Sono 
disperato!!!
--
Posted from 
sirio.tno.it
 [138.66.200.5] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 disperato!!!
Ciao Pasquale,
sarà, ma ho cercato sul sito comune le funzioni per disabilitare lo shift ma
non le ho trovate.
(forse è il caldo che mi ha rincitrullito).
Spero che quelle in tuo possesso siano queste :
*************************
'Per disabilitare il tasto shift
Function Disable_shift()
On Error GoTo Error_disable_shift
    Dim db As DATABASE
    Dim PRP As Property
    Const Prop_not_found = 3270
Set db = CurrentDb()
db.Properties("AllowByPassKey") = False
Exit Function
Error_disable_shift:
If Err.Number = Prop_not_found Then
        Set PRP = db.CreateProperty("AllowByPassKey", dbBoolean, False)
        db.Properties.Append PRP
        Resume Next
        Else
        MsgBox Err.Number & " " & Err.Description
        End If
End Function
'------------- per riabilitare lo shift
Function Enable_shift()
On Error GoTo Error_enable_shift
    Dim db As DATABASE
    Dim PRP As Property
    Const Prop_not_found = 3270
Set db = CurrentDb()
db.Properties("AllowByPassKey") = True
Exit Function
Error_enable_shift:
If Err.Number = Prop_not_found Then
        Set PRP = db.CreateProperty("AllowByPassKey", dbBoolean, True)
        db.Properties.Append PRP
        Resume Next
        Else
        MsgBox Err.Number & " " & Err.Description
        End If
End Function
******************
Mi scuso se mi permetto di postare qualcosa che ha fatto qualcun'altro senza
nominarlo, ma non mi sono scritto chi le ha postate (mi sembra RodAgo o
Carlo VE, mi scuseranno comunque !!!).
Veniamo al dunque...
Se sono queste le funzioni che hai, ti invio la risposta (con qualche
modifica) che avevo dato tempo fa a Matteo (17/07/2000) su come
implementarle.
******************
La funzione (o meglio le due funzioni) le puoi inserire in un normalissimo
modulo.
Crei inoltre la fatidica macro "AUTOKEYS" che, come sappiamo è quella che
intercetta i tasti funzione che vuoi tu.
Devi creare 2 righe : una per "abilitare" il tasto shift, l'altra per
disabilitarlo.
Vediamo la prima.
Sulla colonna "nome macro" digiti la combinazione dei tasti che vuoi tu (ad
esempio ^{F1} che sta per Ctrl-F1); su "azione" imposti "esegui codice" e,
nella casellina in basso, digiti il nome della funzione ( Disable_Shift() ).
Meglio è se, nella riga successiva in cui lascerai la colonna "nome macro"
vuota, imposti un messaggio (con l'azione FinestraMessaggio) dicendo,
semplicemente, "tasto shift disabilitato".
Vediamo la seconda.
Idem come la prima, ponendo su "nome macro" un altro tasto (es. ^{F2} che
sta per Ctrl-F2), eseguendo la funzione Enable_Shift() e dandone opportuno
messaggio.
A questo punto tu vai avanti con la realizzazione del tuo db, senza fare
null'altro.
Una volta completato crei l'MDE, vai dal tuo cliente, glielo installi, fai
tutte le tue verifiche e, prima d'andartene, premi Ctrl-F1: a questo punto
ti comparirà il messaggino "tasto shift disabilitato" e il tuo cliente non
potrà più andarsi a vedere il tuo db (anche se MDE) tenendo premuto il tasto
shift.
Se ti dovesse capitare di doverlo riabilitare, apri il database, premi
semplicemente Ctrl-F2, lo richiudi e lo riapri tenendo premuto lo shift. Il
tutto tornerà alla normalità.
Come vedi la funzione (le funzioni) non devono essere inserite nel primo
form eseguito dal db, ma sono delle funzioni che possono essere lanciate in
qualsiasi momento ed il metodo migliore per farlo è utilizzare la macro
autokeys.
Scusa se magari sono stato TROPPO passo-passo, ma, non conoscendo il tuo
livello di programmazione, meglio essere precisini piuttosto che sommari.
*****************
Io solitamente le utilizzo così (gli altri non so...) e funzionano.
Spero sia chiaro.
Ciao
Dario da PD

 (forse è il caldo che mi ha rincitrullito).
'mo ho capito !!!
Mi sono scaricato la versione download in cui non è ancora presente !!!
Beh, come vedrai la funzione è nettamente diversa.
Mi rimangerei tutto, se non fosse per il fatto che ti ho fornito una
soluzione alternativa (spero) ugualmente utile.
Ciao
Dario

Anche inserendo l'EseguiCodice nella macro Autoexec il tasto SHIFT continua 
imperterrito a funzionare. C'e' per caso qualche parametro generale di 
database da impostare??


Non sono piu' disperato perche' sono un COGLIONE!!!
Riconosco di aver utilizzato la funzione in modo errato (abilitavo il TRUE pensando di disabilitare lo SHIFT).
Chiedo di nuovo scusa per la mia sbadataggine e ringrazio tutti coloro che mi hanno aiutato.
Un saluto a tutti.  Lino


 disperato!!!
Non esageriamo, la disperazione e' un'altra cosa :-)
Naturalmente, mi viene da dirti che e' impossibile che non
funzioni.
La funzione va usata in questo modo:
- dallo stesso db, per disabilitare l'effetto
bypassKey(False)
- da un altro db, per disabilitare l'effetto in C:\tuo.mdb
bypassKey(False ,"C:\tuo.mdb")
Se proprio non va, prova a debuggare per seguire le varie
operazioni
-- 
Federico
--------------------------------------
Sito Comune di it.comp.appl.access
http://members.xoom.it/it_db_access
--------------------------------------
Tutte le richieste che mi arrivano
in privato, vengono cestinate.
--------------------------------------
Rimuovi paperino. per e-mail
--------------------------------------

 Un saluto a tutti.  Lino
Mi sembrava di essere stato chiaro!
FALSE: disabilita l'effetto del tasto shift
TRUE:  abilita l'effetto del tasto shift
