Newsgroup: it.comp.appl.access
Titolo: Chi può aiutarmi ?

Sono nuovo nel NG e avrei un problemino da sottoporvi; spero che ci sia
qualcuno che possa aiutarmi:
Il problema è come fare a comunicare ad un database in cui ho le tabelle
dati la sua password di apertura dal db di lavoro nella fase di
riallegatabella. Grazie.

riallegatabella. Grazie.
in effetti e' una cosa mal documentata nell'help.  nel sito comune,
tra le faq o i tip, non ricordo, dovrebbe esserci la soluzione.
l'indirizzo e' qui sotto.
comunque mi pare di ricordare che il problema principale sia che
sull'help si dice che alcuni parametri di opendatabase sono opzionali,
invece e' necessario specificarli tutti.
--
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/

 wrote in message
38db6aaf...@news.interbusiness.it...

Ho già provato con i param di Opendatabase...... ma senza risultato !!!
Grazie comunque.

>Ho già provato con i param di Opendatabase...... ma senza risultato !!!
puoi postare il codice che usi?  fai conto che la pw sia "pippo".



All'avvio del prg viene lanciata la routine per allegare le tabelle
"ControllaCollegamenti":
' Controlla i collegamenti al database; restituisce True se i collegamenti
funzionano.
    Dim dbs As DATABASE, dbex As DATABASE, rst As Recordset, tb As Recordset
    Set dbs = CurrentDb()
    ' Apre una tabella collegata per controllare che le informazioni sulla
connessione siano corrette.
    On Error Resume Next
    Set rst = dbs.OpenRecordset("Letture")
    ' Se non si riscontra alcun errore, restituisce True.
    If Err = 0 Then
        ControllaCollegamenti = True
          rst.Close
        Set tb = dbs.OpenRecordset("Parametri procedura")
        tb.MoveFirst
        DbaseName = tb.Fields("Percorso DATABASE")
        tb.Close
    ElseIf Err = 3031 Then                  ' L'err 3031 equivale a:
Password non corretta
    Qui ho provato ad usare l'istruzione         Set dbex =
OpenDatabase("MioDB", , , "pippo")
     e quindi  ho provato, dalla finestra di debug a verificare la
possibilità di collegarmi al Db; risultato: un bel niente.
    Else
        ControllaCollegamenti = False
    End If
Ciao.

OpenDatabase("MioDB", , , "pippo")
ripeto quello che ho scritto due o tre mex addietro:
"comunque mi pare di ricordare che il problema principale sia che
sull'help si dice che alcuni parametri di opendatabase sono opzionali,
invece e' necessario specificarli tutti."
li' sopra tu non hai specificato i parametri oppzionali.  prova a
specificarli.


 specificarli.
Ho provato a specificarli:
caso 1) OpenDatabase("MioDB", False, False, "pwd=pippo")
            access mi ristituisce come err: impossibile collegarsi
all'origine dati ODBC
caso 2) OpenDatabase("MioDB", , False, "pwd=pippo")
            access mi ristituisce come err: pwd non valida
In ultimo, mi č successo questo:
1:ho creato una nuova tb nel db dati protetto da pw
2:ho aperto il db programma e dalla finestra di db ho fatto un "allega
tabella" di questa nuova appena creata
3:prima di allegare la tb, access mi ha chiesto di digitare la pw
4:ho inserito la pw nella casella e la tb č stata correttamente allegata
5:da questo momento, lanciando il db non ho piů riscontrato il problema (a
meno di spostare la stesso in altra Dir e quindi ritornare al punto di
partenza!)
PS: una volta che il db programma č aperto, riesco ad aprire in
visualizzazione dati la sola tb che ho allegato per ultima; sulle altre mi
viene ritornato il solito messaggio di pw non valida.
Penso a questo punto che il sig Access vada quindi a scriversi la pw in
qualche luogo oscuro..... ma dove ?

all'origine dati ODBC
C'era qualcosa riguardo la sintassi della stringa che dava la password
documentata male nell'help.
Qualcosa per cui doveva essere
"pwd='pippo'"
oppure
"[pwd]=pippo"
o
"[pwd]='pippo'"
Non ricordo però, provale...
Antonio

 possibilità di collegarmi al Db; risultato: un bel niente.
Per riallegare le tabelle non devi aprire il db, ma devi
solo modificare la proprieta' connect (stringa di
connessione) delle tabelle allegate. (cerca 'connect'
nell'help per le specifiche)
Tale stringa oltre al percorso del db contenente la tabella
da allegare, deve contenere la pwd di accesso al database.
Quindi per riallegare le tabelle dovrai modificare la loro
proprieta' connect che nel tuo caso sara':
tdf.connect = "MS
Access;PWD=pippo;DATABASE=C:\...\MioDB.mdb"
Esempio:
...
For Each tdf In dbs.TableDefs
   If (Len(tdf.Connect) > 0) Then
      tdf.Connect = "MS
Access;PWD=pippo;DATABASE=C:\...\MioDB.mdb"
      Err = 0
      On Error Resume Next
      tdf.RefreshLink
      If Err <> 0 Then
         AggColl = False
         Exit Function
      End If
   End If
Next tdf
AggColl = True
...
LA password e la nuova posizione del db dovranno essere
imputate dall'utente!
-- 
Federico
--------------------------------------
Sito Comune di it.comp.appl.access
http://members.xoom.it/it_db_access
--------------------------------------
Rimuovi paperino. per e-mail
--------------------------------------

OK.
Cosě funziona:
    ....
        ....
         tdf.Connect = ";DATABASE=" & strNomeFile & "; pwd=pippo"
La "sfortuna" č che ho letto le risposte del NG quando, trovata la soluzione
stavo per inserirla nel NG.
Gazie lo stesso.
Homer