Newsgroup: it.comp.appl.access
Titolo: Disabilitare tasto shift con password in Acess 2000

Ciao a tutti sono Dino.Ho necessita' di abilitare/disabilitare il
tasto Shift attraverso una password.
Sul sito comune ho trovato questa routine :Private Sub Ctl___Click()
Dim stLinkCriteria As String
Dim strinput As String
Dim strMsg As String
Dim domanda As String
Dim messaggio As String
Dim intopzioni As Integer
    strinput = InputBox("Inserire una password valida.")
    strMsg = "Password corretta"
        ' Prova il valore di input utente.
        If strinput = "password" Then
        On Error Resume Next
        domanda = InputBox("Chiudere il database?")
            Const DB_Boolean As Long = 1
        If domanda = "Apri" Then
            ChangeProperty "AllowBypassKey", DB_Boolean, True
        Else
            ChangeProperty "AllowBypassKey", DB_Boolean, False
        End If
        Else
 intopzioni = vbCritical
messaggio = "La password immessa è ERRATA."
byscelta = MsgBox(messaggio, intopzioni)
DoCmd.Quit
         End If
Quando eseguo il debug mi dice che ChangeProperty e' una funzione non
definita.
Scusate la domanda ma come faccio ha definirla????
Grazie in anticipo Dino

 Grazie in anticipo Dino
Forse c'e' anche la changeproperty che e' una "user" function e dovrebbe 
essere pressapoco questa
Function ChangeProperty(strPropName As String, varPropType As Variant, 
varPropValue As Variant) As Integer
     Dim dbs As Object, prp As Variant
     Const conPropNotFoundError = 3270
     Set dbs = CurrentDb
     On Error GoTo Change_Err
     dbs.Properties(strPropName) = varPropValue
     ChangeProperty = True
Change_Bye:
     Exit Function
-- 
ac
y-1=x

 - Mostra testo tra virgolette -
Ciao Ale,come prima cosa grazie per la risposta.Volevo chiederti devo
inserire questa routine in un nuovo modulo o in quello che ho
riportato nel post??
Grazie ancora
Saluti Dino


Va bene quello del post. Poi male che vada prendi errore, le tasse non 
ti aumentano per questo ;<)
-- 
ac
y-1=x



Grazie Ale...Di tasse ne ho gia' pagate troppe...
Provo ad inserirlo nello stesso modulo e poi ti faccio sapere.
Piuttosto ho trovato sul sito comune su GENERAL  FAQ  6.78  abilita/
disabilita tasto Shift.
E' un bellissimo DB con il quale inserendo il percorso del DB da
inibire di disabilita il tasto shift.
Il problema e' questo ho voluto importare gli oggetti di questo DB
(Vedrai una form e un modulo) nel mio DB per poter gestire il tutto in
un'applicazione ma dopo aver dato il percorso del DB quando voglio
disabil. il tasto il sw mi si blocca e mi compare il modulo in esame :
SOTTOLINEANDO LA PRIMA RIGA "Dim wrk As Workspace" DICENDO CHE NON E'
DEFINITO DALL'UTENTE
Public Function BypassKey(bolVal As Boolean, Optional strMdb As
String) As Boolean
'Autore: Federico Luciani dal sito comune del newsgroup di
it.comp.app.access
'Accetta:
'bolVal = True: abilita; False: disabilita
'strMdb = [Opz.] percorso+nome del database
'Restituisce: True l'operazione e' stata eseguita correttamente
On Error GoTo bypass_Err
    Dim wrk As Workspace
Dim dbs As Database
    Set wrk = DBEngine.Workspaces(0)
    If strMdb = "" Then
        Set dbs = CurrentDb()
    Else
        Set dbs = wrk.OpenDatabase(strMdb)
    End If
    dbs.Properties("AllowBypassKey") = bolVal
    BypassKey = True
    Set dbs = Nothing
    Set wrk = Nothing
    Exit Function
bypass_Err:
    If Err = 3270 Then
        Dim prp As Property
        Set prp = dbs.CreateProperty("AllowBypassKey", dbBoolean,
True)
        dbs.Properties.Append prp
        Resume
    Else
        BypassKey = False
    End If
End Function
'Per provare la funzione inseritela in un altro mdb e dalla finestra
di debug eseguite:
'Print bypassKey(False, "D:\copia di rubrica.mdb") 'per disabilitare
'Print bypassKey(True, "d:\copia di rubrica.mdb") 'per abilitare
Quello che ti chiedo e' questo.E' probabile che per funzionare deve
essere in un DB a parte (vedo la spiegazione remata in fondo) o si
puo' come voglio io inserirlo nello stesso DB da inibire??.
Scusa per il poema e molte grazie per le risposte.
Saluti Dino

>>>> messaggio = "La password immessa č ERRATA."

Il codice che hai postato fa esttamente quello che faceva l'altro, 
modifica cioe' la Property "AllowByPassKey". Il secondo codice se non 
passi nulla come nome (path) del DB agisce su quello corrente
i.e.
      If strMdb = "" Then
          Set dbs = CurrentDb()
      Else
         Set dbs = wrk.OpenDatabase(strMdb)
      End If
e quindi
'Print bypassKey(False, "") 'per disabilitare il currentdb
'Print bypassKey(True, "") 'per abilitare il currentdb
cmq e' strano che ti dia errore sulla definizione del workspace che e' 
un oggeto DAO. Tu hai la libreria DAO vero?
-- 
ac
y-1=x

 >>>>> messaggio = "La password immessa è ERRATA."

Si' se per libreria DAO tu intendi andare su strumenti>riferimenti e
flaggare tutte le voci DAO; O no.
Provo comunque ad impostare il path e poi ti faccio sapere.
Saluti Dino