Newsgroup: it.comp.appl.access
Titolo: OT Traduzione FAQ 6.19

*************************
6.19 Pass the Database Password
Problem
You want to open another MDB in a new instance of Access via code
and also pass the database password, so that it doesn't have to be
typed in.
Solutions
Note: For the DB password other than for user name and user password
there is no possibility to pass it by a command line parameter in a link.
If you want to open a MDB from another MDB via code then (until A00)
the only official way to hand over the password is to open the db in the
invisible way with OpenDatabase. e.g.
DBEngine.Workspaces(0).OpenDatabase _
        ("C:\Foo\My.mdb", False, False,";PWD=MyPassword")
Concerning the visible way to open a DB in a new instance via code
starting with AX the methode OpenCurrentDatabase has a new
parameter for the password. e.g.
Dim appAcc As Access.Application
Set appAcc = CreateObject("Access.Application")
appAcc.OpenCurrentDatabase, "C:\Foo\My.mdb", False, "MyPassword"
For versions prior to AX there's the following trick by Günther Ritter:
Private Sub cmdOpen_Click()
  Dim db As DAO.Database
  Dim strDb As String
  'create another instance of Access
  Dim acc As New Access.Application
  Const strPWD As String = ";pwd=123456"
  strDb = "C:\DbWithPassword.mdb"
  'open the database with password
  Set db = acc.DBEngine.OpenDatabase(strDb, False, False, strPWD)
  acc.OpenCurrentDatabase strDb
  'necessary in order to maximize the application
  acc.RunCommand acCmdAppRestore
  acc.RunCommand acCmdAppMaximize
  acc.DoCmd.Maximize
  db.Close
End Sub
****************************
-- 
cu
Karl
*********
Access FAQ: 
www.donkarl.com/it

 ****************************
6.19 Passare la Password di un Database
Problema
Vuoi aprire via codice un altro file MDB in una nuova istanza di
Access e in aggiunta passare la password, cosģ che non la si debba
digitare.
Soluzioni
Nota: Per la password del DB, eccetto  per il nome e la password utente,
non esiste alcuna possibilitą di passarla tramite un parametro di una riga
di comando in un collegamento, .
Se vuoi aprire via codice un MDB da un altro MDB , allora (fino ad
A2000) l'unico modo per passare la password, č quello di aprire il
database in modo invisibile con OpenDatabase. 
Ad esempio:
DBEngine.Workspaces(0).OpenDatabase _
("C:\MyFolder\MyDb.mdb", False, False,";PWD=MyPassword")
Per quanto riguarda  il modo visibile per aprire un DB in una nuova
istanza via codice, iniziando da Access XP, il metodo OpenCurrentDatabase
ha un nuovo parametro per la password. 
Ad esempio:
Dim appAcc As Access.Application
Set appAcc = CreateObject("Access.Application")
appAcc.OpenCurrentDatabase, "C:\MyFolder\MyDb.mdb", False,"MyPassword"
Per versioni antecedenti Access XP c'č il seguente trucco di Günther
Ritter:
Private Sub cmdOpen_Click()
Dim db As DAO.Database
Dim strDb As String
'crea un'altra istanza di Access
Dim acc As New Access.Application
Const strPWD As String = ";pwd=123456"
strDb = "C:\DBConPassword.mdb"
'apre il database con password
Set db = acc.DBEngine.OpenDatabase(strDb, False, False, strPWD)
acc.OpenCurrentDatabase strDb
'massimizza l'applicazione
acc.RunCommand acCmdAppRestore
acc.RunCommand acCmdAppMaximize
acc.DoCmd.Maximize
db.Close
End Sub
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio
news:2t7eucF...@uni-berlin.de...

*************************
6.19 Passare la Password del Database
Problema
Tu vuoi aprire attraverso codice VBA un altro MDB in una nuova istanza di
Access e vuoi anche passare la password del databse, così che tu non debba
digitarla in una finestra di dialogo.
Soluzione
NB: Per la password del database, al contrario di quanto avviene per il nome
e la password utente, non c'è la possibilità di passarla tramite un
parametro di una riga di comando in un collegamento.
Se vuoi aprire un MDB da un altro MDB usando il codice VBA, allora (sino ad
Access 2000) l'unico modo possibile per passare la password è quello di
aprire il database in modo non visibile con OpenDatabase, per esempio:
DBEngine.Workspaces(0).OpenDatabase _
         ("C:\MiaCartella\MioDatabase.mdb", False, False,";PWD=MiaPassword")
Circa il metodo visibile per aprire un database in una nuova istanza
attraverso il codice VBA, operando con Access XP il metodo
OpenCurrentDatabase ha un nuovo parametro per la password, per esempio:
Dim appAcc As Access.Application
Set appAcc = CreateObject("Access.Application")
appAcc.OpenCurrentDatabase, "C:\MiaCartella\MioDatabase.mdb", False,
"MiaPassword"
Per versioni di Access precedenti ad Access XP c'è il seguente trucco di
Günther Ritter:
Private Sub cmdOpen_Click()
   Dim db As DAO.Database
   Dim strDb As String
   'crea un'altra istanza di Access
   Dim acc As New Access.Application
   Const strPWD As String = ";pwd=123456"
   strDb = "C:\DBConPassword.mdb"
   'apri il database con password
   Set db = acc.DBEngine.OpenDatabase(strDb, False, False, strPWD)
   acc.OpenCurrentDatabase strDb
   'necessario allo scopo di massimizzare l'applicazione
   acc.RunCommand acCmdAppRestore
   acc.RunCommand acCmdAppMaximize
   acc.DoCmd.Maximize
   db.Close
 End Sub
****************************
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------