Newsgroup: it.comp.appl.access
Titolo: Password di rete

Ho FE in locale e BE sul server.
Il percorso è semplificato connettendolo con P:\.
All'accensione del client, la prima volta si deve digitare la password di
rete (valida fino allo spegnimento o riavvio del PC).
La mia applicazione funziona bene se ho già digitato la password, ma se la
attivo saltando questo passaggio, non mi chiede di digitarla: mi dice che
non trova il BE.
Come si fa a far comparire la mascherina di richiesta della password di rete
per il collegamento del BE?
Grazie
-- 
Fabio Dalla Villa

Fabio DALLA VILLA ha scritto:

Il problema è che hai il server protetto con la gestione degli
utenti...non c'è soluzione se non immettere la pwd all'avvio dell'SO del
client e permettere al server il riconoscimento del proprio PC e il
conseguenziale permesso di accedere alle proprie risorse...
ho x caso capito male?
-- 
Pablitomf (Maurizio Facciuti)
“Quando non ti eserciti ricorda che qualcuno in qualche posto si sta
allenando e, quando lo incontrerai, ti batterà”.
Ed Macauley 
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:NnB1d.1990$Ie2....@tornado.fastwebnet.it...

Potresti controllare l'elenco delle lettere assegnate alle periferiche:
es.
Function ShowDriveType(drvpath)
   Dim fso, d, t
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(drvpath)
   Select Case d.DriveType
      Case 0: t = "sconosciuta"
      Case 1: t = "rimovibile"
      Case 2: t = "fissa"
      Case 3: t = "di rete"
      Case 4: t = "CD-ROM"
      Case 5: t = "disco RAM"
   End Select
   ShowDriveType = "Unità " & d.DriveLetter & ": - " & t
End Function
Se non è presente puoi crearla tu con questo script:
Dim WshNet
Set WshNet = CreateObject("Wscript.Network")
WshNet.MapNetworkDrive "Z:", "\\nomePc\risorsaDaMappare", , "utente", "password"
Set WshNet = Nothing
ed eventualmente toglierla con:
Dim WshNet
Set WshNet = CreateObject("Wscript.Network")
WshNet.RemoveNetworkDrive "Z:"
Set WshNet = Nothing
Ciao.
-- 
Sergio MAZZA

 Ciao.
Io non credo sia questo il problema Sergio... il problema (da oggetto e da
post) è quello che se non inserisce la pwd dell'utente il server
ovviamente non lo riconosce come tale e pertanto non lo fa accedere alle
proprie risorse...
Almeno è quello che ho capito io da quello che ha scritto.


 Ed Macauley
Certo; quello che suggerivo è fregarsene se l'utente ha inserito la password di rete (intuisco che il s.o. sia Win9x/Me)  e con gli
script, se necessario, mapparsi lui la risorsa passandogli Utente/Password...
Ciao.
-- 
Sergio MAZZA


Hai capito bene

 ha scritto nel messaggio > Potresti

Intanto grazie per la risposta.
Ho sudato un po' per capire il codice postato e fare delle prove.
Ho capito che devo:
1) semplificare rinunciando alla lettera-drive connettendo direttamente al
percorso di rete
2) capire da codice se il percorso di rete è già disponibile
3) se non lo è, attivare la maschera di richiesta password di rete
In merito al punto 2 non so come interrogare il sistema (XP home + A2K2) e
in quale evento inserire il codice: nell'evento "apertura" della maschera di
avvio è troppo tardi perchè compare prima il messaggio  "... MS jet non è in
grado di accedere ... è necessario disporre dell'autorizzazione ...".
Grazie
Ciao

 Ciao
Crea una macro AutoExec che richiama la funzione che effettua la verifica...
Ciao.
-- 
Sergio MAZZA

 ha scritto nel messaggio
news:NnB1d.1990$Ie2....@tornado.fastwebnet.it...

ricapitolando (per i posteri)
1) macro "AutoExec" con azione "Eseguicodice" e nome funzione "accessorete"
(per esempio)
2) funzione
Function Accessorete()
    On Error GoTo errore:
    Dim WshNet
    MsgBox ""
    Set WshNet = CreateObject("Wscript.Network")
    WshNet.MapNetworkDrive "Z:", "\\server\directory", , "utente",
"password"
    Set WshNet = Nothing
errore:
End function
Note: "On Error" impedisce di visualizzare errori se il percorso di rete Z è
già stato attivato in precedenza; peccato che qualcosa va storto il
programma parte e va avanti.




 già stato attivato in precedenza; peccato che SE qualcosa va storto il



Non serve controllare l'errore (in questo caso), devi solo vedere se nell'elenco delle periferiche è presente la lettera del drive
che vuoi assegnare tu:
es.
'---------------
Function Accessorete() as boolean
    On Error GoTo errore:
'-- controllo se è presente la lettera Z:
   Dim fso, d, mappato as boolean, dc
    mappato = false
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set dc = fso.Drives
       For Each d In dc
            Set d = fso.GetDrive(d.DriveLetter)
            if d.DriveLetter = "Z" then
                mappato = true
                Set d = Nothing
                exit for
            end if
            Set d = Nothing
        Next
    Set dc = Nothing
    Set fso = Nothing
'-- se non è mappata la risorsa
    if not mappato then
        Dim WshNet
        Set WshNet = CreateObject("Wscript.Network")
        WshNet.MapNetworkDrive "Z:", "\\server\directory", , "utente", "password"
        Set WshNet = Nothing
    end if
    Accessorete = true
    exit function
errore:
   Set WshNet = Nothing
    msgbox err.number & ", " & Application.accesserror(err.number)
    Accessorete = false
End function
'---------------
Ciao.
-- 
Sergio MAZZA