Newsgroup: it.comp.appl.access
Titolo: Funzione Dir - cosa sbaglio ?

Ciao a tutti,
ho letto i post sull' utilizzo della funzione dir, ma non sono
riuscito a farla funzionare correttamente.
Vorrei verificare l'esistenza di una cartella in rete e di conseguenza
gestire gli le condizioni.
Qualcuno può aiutarmi ?
Posto il codice:
Praticamente non mi da nessun errore, ma sembra non entrare nell' if.
Cosa sbaglio?
Dim cartella As String
cartella = "\\server\app\TRATTATIVE-CLIENTI\" & Me.COGNOME.Value & "-"
& Me.NOME.Value
If Dir(cartella,vbdirectory) <> "" Then
Shell "explorer.exe " + cartella, vbNormalFocus
Else if Dir(cartella,vbdirectory) = ""
then msgbox...
end if
La funzione shell fuori dall' if funziona correttamente.


Manca il BachSlash alla fine...?
"\\server\app\TRATTATIVE-CLIENTI\BlaBlaBla\"
Ciao
@Alex

> Manca il BachSlash alla fine...?
Ho provato con:
cartella = "\\server\app\TRATTATIVE-CLIENTI\" & Me.COGNOME.Value &
"-"
& Me.NOME.Value
ma non cambia nulla

ops
cosi scusa
cartella = "\\server\app\TRATTATIVE-CLIENTI\" & Me.COGNOME.Value &
"-"
& Me.NOME.Value & "\"

 La funzione shell fuori dall' if funziona correttamente.
Non ottieni neanche la msgbox?
Sei sicuro che l'evento viene scatenato?
-- 
Ciao
Geppo 

 ha scritto nel messaggio 
news:8470edab-01b0-42d6...@n20g2000hsh.googlegroups.com...


 ha scritto nel messaggio 
news:8470edab-01b0-42d6...@n20g2000hsh.googlegroups.com...

Devi scrivere il comando cosě
Shell "explorer.exe " + chr(34) + cartella + chr(34), vbNormalFocus
in questo modo dovrebbe funzionare e ricordati sempre quello che ti ha detto 
Alex.
Ciao
-- 
Roberto da Parma

 wrote in message 
news:add92e67-5091-4a72...@d4g2000prg.googlegroups.com...





end if

=======================================
E all'interno dell'IF non va perché la funzione Dir di
Access attraverso la rete non dà udienza.
Funziona la Dir dal prompt dei comandi di Windows, passando
eventualmente USERID e PWD.
Occorre arrangiarsi...
Bruno 

 Bruno
Ciao Bruno.
Da me la funzione DIR di Access passando una PATH di rete funziona...
Se non ricordo male però c'è un limite nell'approfondimento...
Prova a vedere se Passando la Folder principale solo anche a te restituisce
come da me un valore valido...
Così ad Esempio:
 "\\server\app\"
Adesso non ricordo quanto sono sceso di livello nella mia prova ma funziona.
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------

 funziona.
Confermo anch'io e funzia anche con:
"\\Kikka\Documenti\EA Games\The Sims 2"
-- 
Ciao
Geppo 

 funziona.
Ho voluto riprovare perché a volte la memoria...
Ma io non arrivo nemmeno alla radice dell'HD di un PC di rete.
E non ci sono mai arrivato!
Ciao
Bruno


Se l'hd non è condiviso, OK.
Comunque se non lo è quanto meno si ottiene un errore.
-- 
Ciao
Geppo 


La cosa è strana ... ho riprovato su una rete senza gestione di
Dominio(solo con WorkGroup) e funziona senza limiti di profondità, se
riesco provo su una rete con Dominio.
Certo è singolare, a meno di qualche errore di considerazione, il
comportamento così arbitrario.
@Alex

 wrote in message 
news:ecf86ce1-22df-401d...@d4g2000prg.googlegroups.com...
La cosa è strana ... ho riprovato su una rete senza gestione di
Dominio(solo con WorkGroup) e funziona senza limiti di profondità, se
riesco provo su una rete con Dominio.
Certo è singolare, a meno di qualche errore di considerazione, il
comportamento così arbitrario.
@Alex
=========================================
Prova ad inviarmi la tua riga di codice... non si sa mai.
L'ultima prova (ieri) l'ho fatta con PC in Workgroup
(da Winserver 2008 a XP Pro e A2003).
Sull'XP non ho creato l'account, col che dovrebbe chiedermi PWD
o generare errore in tal senso, un po' come avviene dal prompt.
Comunque è problema solo teorico e di poco conto, ché l'usar
la funzione Dir in Access - ne converrai - non è proprio il massimo.
Ciao
Bruno 


Provato nel sistema di Dominio così:
?DIR("\\NomeServer\Cartella1\SubCartella1\SubSubCartella1\",
vbDirectory)
Risultato:
.
Restituisce un PUNTO nel caso positivo.
Stessa cosa in una rete con WorkGroup e stesso risultato.
Ciao
@Alex

 wrote in message 
news:5b4a8489-b536-4ee0...@d4g2000prg.googlegroups.com...
Provato nel sistema di Dominio così:
?DIR("\\NomeServer\Cartella1\SubCartella1\SubSubCartella1\",
vbDirectory)
Risultato:
.
Restituisce un PUNTO nel caso positivo.
Stessa cosa in una rete con WorkGroup e stesso risultato.
Ciao
@Alex
Niente da fare!
Da me restituisce "Bad file name or number" sia dalla Immediate
Window (?Dir("\\p102\c\300\", vbDirectory) sia da un Button
(Msgbox Dir("\\p102\c\300\", vbDirectory).
Sarà una rete sfigata!
Bruno
 

Devo provare ancora il codice. vediamo...
Quindi significa che in una rete con Dominio non può essere gestita la
cosa ?
Alternative ?

Ok, finalmente funziona.
Cartella condivisa nel dominio, permessi di modifica su tutti gli user
Dopo aver verificato che la funzione dir mi restituiva un punto ,
oppure Bad file name or number
cosi mi funziona.
Dim cartella As String
cartella = "\\serv\app\TRATTATIVE-CLIENTI\" & Me.COGNOME.Value & "-" &
Me.NOME.Value & "\"
If Dir(cartella, vbDirectory) <> "" Then
Shell "explorer.exe " + Chr(34) + cartella + Chr(34), vbNormalFocus
ElseIf Dir(cartella, vbDirectory) = "" Then
MsgBox "Nessuna Trattativa per il Cliente in Elenco", vbCritical,
"Attenzione !!"
End If
Grazie di cuore a tutti


e circa dieci post fa che parlavo di creare la condivisione... ma nessuna mi 
ha filato. :-)
-- 
Ciao
Geppo 

On 13 Feb, 21:37, "geppo" <c...@tin.it.invalid> wrote:

Diciamo che dovrebbe essere una considerazione scontata questa..., ma
forse non per tutti... quindi hai fatto bene a ribadirla.
@Alex