Newsgroup: it.comp.appl.access
Titolo: Apertura di un mde protetto da password

Ho creato un'applicazione con A03 costituita da un file BE (formato
mdb protetto da pwd) ed un FE (formato mde), con le tabelle collegate.
Ho notato però che è estremamente semplice importare sia le tabelle
che le query su un altro database access (form, report e moduli sono
visibili ma non possono essere importati).
Non voglio utilizzare la protezione a livello di utente con il file
system.mdw.
Ho pensato però che si potrebbe impostare una pwd di accesso anche
all'mde FE, e consentire l'apertura dell'mde mediante un altro file
mde che non contiene alcuna tabella collegata al mdb BE, mediante
codice.
In questo modo sia il BE che il FE avrebbero una protezione con pwd, e
non sarebbe pertanto possibile importare alcunchè. Mentre il nuovo mde
di accesso (una sorta di maschera) conterrebbe soltanto l'istruzione
in codice per aprire il mde FE (che non è accessibile perchè
compilato).
Ho quindi associato all'evento form_open il seguente codice:
Private Sub Form_Open(Cancel As Integer)
Static acc As Access.Application
   Dim db As DAO.Database
   Dim strDbName As String
   strDbName = "C:\Programmi\Archivio\FrontEnd.mde"
   Set acc = New Access.Application
   acc.Visible = True
   Set db = acc.DBEngine.OpenDatabase(strDbName, False, False,
";PWD=XXXX99999")
   acc.OpenCurrentDatabase strDbName
   acc.RunCommand acCmdAppMaximize
   db.Close
   Set db = Nothing
End Sub
Ho purtroppo constatato che il file FrontEnd.mde viene aperto
correttamente, ma in una nuova istanza.
Mentre rimane ancora aperto il file mde, che una volta ottenuto
l'accesso al FE non ha più alcuna funzione.
Ho provato ad inserire all'interno della routine dei comandi quali:
acc.Quit
acc.Close
Ma ho notato che il risultato è stato soltanto la chiusura di entrambe
i file.
Ho anche provato a dare l'istruzione per la chiusura del solo file mde
di accesso, in un'altra routine associata ad una diverso evento. Ma
nulla... quando si chiude access, si chiudono sempre entrambe i file.
Non riesco a far chiudere selettivamente il solo file mde di accesso
mascherato.
Sarei grato a chi sapesse darmi un consiglio utile.
P.S.: Dimenticavo di dire che nel file mde FE è già disponibile un
sistema personalizzaato di autenticazione degli utenti (da me
interamente programmato) mediante codice vb. Ed è per questo che
vorrei evitare il ricorso al system.mdw.
Grazie.


Scusa, ma hai provato ad inserire alla fine un semplice docmd.quit
-- 
Ciao
Geppo 

 - Mostra testo tra virgolette -
Si, certo, ho già provato ma questo comando mi chiude entrambe le
istanze di access. Ho anche già provato a far precedere tale comando
con:
docmd.runcommand accmdappminimize
per ridurre ad icona l'istanza che contiene l'mde FE, nella speranza
che il comando docmd.quit potesse agire soltanto sull'istanza in primo
piano, ma nulla da fare...
Sono bloccato su un'inezia dopo mesi di lavoro...
Comunque grazie del consiglio. A presto!!!


Io ho provato il tuo codice ed inserendo docmd.quit si chiude solo l'istanza 
da cui viene avviato l'mde.
-- 
Ciao
Geppo 


Non so che dire... Probabilmente usiamo una diversa versione di Access
oppure è configurato diversamente... Io ho Access 2003 (11.5614.5606).
Ho anche provato con CreateObject, ma nulla da fare...

 Ho anche provato con CreateObject, ma nulla da fare...
Scarica questo file di prova scompatta il tutto nella stassa directory e 
avvia il file db2.mde, se funzia è un proble del tuo db:
http://www.divshare.com/download/3543334-0f4
-- 
Ciao
Geppo 

On 20 Gen, 16:14, "geppo" <c...@tin.it.invalid> wrote:

Ciao Geppo, scusa il ritardo nella risposta...
Ho provato il file db2.mde come mi hai detto, ed ho notato che qui
tutto funziona perfettamente...
Purtroppo nel mio db non riesco ancora a produrre lo stesso effetto.
Mi faresti una grossa cortesia se mi inviassi una copia mdb del file
db2.mde, od anche se mi mostrassi soltanto il codice.
Ho ricontrollato tutto il codice del mio db, ma non ho trovato nulla
di anomalo. Non ho usato routine Public, ed ormai l'unico dubbio che
ho è che il problema possa essere causato dal modulo per inibire l'uso
del tasto shift all'avvio.
Ti saluto e ti ringrazio tanto. Marco

 Ti saluto e ti ringrazio tanto. Marco
Eccoti servito, ho inserito anche la funzione per il tasto shift ma funziona 
comunque.
http://www.divshare.com/download/3617204-c2d
-- 
Ciao
Geppo 

 - Mostra testo tra virgolette -
Ti devo delle scuse per averti fatto perdere del tempo... Sono un vero
idiota... Ho scoperto qual'è il problema ed ora è tutto ok.
Praticamente stavo facendo delle prove di funzionamento con un file
MDB protetto da password, ma sul quale non avevo ancora impostato le
opzioni di avvio. Ho impostato le opzioni di avvio del file protetto
da password, ed ho provato nuovamente ad avviare il file maschera mde.
Tutto OK. Stavo pensando a chissà quale problema, mentre la soluzione
era assolutamente banale. Grazie e scusa di nuovo. Marco

 era assolutamente banale. Grazie e scusa di nuovo. Marco
Nessun problema l'importante e che hai risolto. :-)
-- 
Ciao
Geppo