Newsgroup: it.comp.appl.access
Titolo: AllowBypassKey disabilitazione e riabilitazione.

Ciao a tutti,
sto completando il mio db con la funzione Allowbypasskey,
ma non so bene come fare.
Ho provato a creare un sistema che all'appertura del db disabiliti la
funzione del tasto shift che permette a chiunque di accedere al database ed
apporvi modifiche.
Ma la mia attenzione si è rivolta alla parte che mi permette di riabilitare
la funzione del tasto shift, in modo tale da non essere chiuso fuori dal mio
DB !!
Per fare ciò ho creato un piccolo simbolo su una maschera che compare nel db
e ho impostato le sue proprietà in modo da non essere visibile (colore
simbolo uguale allo sfondo della maschera).
Fatto cio' ho assegnato all'evento click su questo simbolo di cui conosco la
posizione solo io, la procedura di riabilitazione del tasto shift, previo
inserimento di una password e quindi di una autenticazione (che funzione ad
hoc).
I miei problemi sono riuscire a creare un sistema funzionante in quanto
tutt'ora se la proprietà del db non è settata viene generato un errore che
deve essere gestito per creare una nuova proprietà del db e successivamente
con il simbolo nascosto poter riabilitare alla successiva riapertura la
proprietà che mi permette di apportare modifiche.
Ho guardato in lungo e in largo.
Attualmente uso il seguente modulo che viene richiamato nel codice nel
seguente modo :
**********codice del  modulo*************
Option Compare Database
Private Const ErrPropNotFound As Long = 3270
  Public Sub SetAllowByPassKey(Enable As Boolean)
  Dim db As DAO.Database
  Dim prp As DAO.Property
   On Error Resume Next
   Set db = CurrentDb
   db.Properties("AllowBypassKey").Value = Enable
   If Err.Number = ErrPropNotFound Then
   Set prp = db.CreateProperty("AllowBypassKey", dbBoolean, Enable)
   db.Properties.Append prp
   End If
  Err.Clear
  End Sub
******************
****************codice del richiamo****************
Private Sub Form_Open(Cancel As Integer)
Dim PathName As String
Dim DrvVolumeName As String
Dim DrvSerialNo As String
SetAllowByPassKey True
PathName$ = "c:\"
rgbGetVolume PathName, DrvVolumeName, DrvSerialNo
On Error GoTo Gest_err
  Set rst = CurrentDb.OpenRecordset("accettolicenza")
  app = rst.EOF
Gest_err:
If Err = 3024 Or Err = 3044 Then
DoCmd.OpenForm "treeview"
'msg = "errore di sistema n° " & Err & "@" & Err.Description & "@"
End If
***********fine del richiamo***************
Se il mio codice disabilita shift ad ogni apertura come faccio scegliendo
disabilita  tramite il simbolo segreto a chiudere e riaprire il db senza che
il db riabilita la protezione all successiva apertura ?
Sono un po' confuso.
Qualcuno mi sa postare una soluzione funzionante o qualche retifica ?
Grazie e ciao.
Con simpatia Marco


Ho postato il codice sopraesposta erroneamente quello del richiamo è il
seguente :
SetAllowByPassKey False

il db riabilita la protezione all successiva apertura ?
normalmente queste cose si fanno da *un altro* db
se proprio non puoi farne a meno, puoi gestire, per esempio,
una chiave di registro (vedi il sc) e subordinare
l'abilitazione/disabilitazione al valore della chiave
mi sono capito? :-)
--
lorenzo coronati
---

Ho creato una query con dati provenienti da 2 tabelle diverse , ed ho 2
problemi :
Spesso quando la eseguo o cerco di salvarla mi esce un MSgBox con su scritto
: Record Eliminato.
(ecco cosa dice l'help:
Record eliminato. (3167).
L'utente ha fatto riferimento a un record eliminato o che un altro utente in
un ambiente multiutente ha eliminato. Spostarsi su un altro record, quindi
riprovare. )
La query viene eseguita ma perde in alcuni campi la formattazione che avevo
dato ( Fisso Numerico es:152,25).
In una formula della query effettuo una divisione  con un  campo di una
tabella, che  ha dei  record contenenti  un valore (es. 2100) ed altri sono
completamenti vuoti .
Se nella tabella il valore è vuoto, nella query non viene effettuato il
calcolo.
Come faccio ad ovviare alla cosa ? (senza dover scrivere 0 nella tabella
originaria)
i due problemi sono collegati ?
ciao

 i due problemi sono collegati ?
    Non so.
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

     Dove l'avevi data tale formattazione?
nella griglia