Newsgroup: it.comp.appl.access
Titolo: Protocollo FTP in VBA

Ciao a tutti,
dovrei copiare dei file .CSV, creati con un modulo Access, su un server FTP,
utilizzando lo stesso modulo ... quindi in automatico, senza dover
utilizzare altri sw.
Ho consultato in lungo e in largo l'help ma non ho trovato nulla in
proposito.
Qualcuno saprebbe dirmi come potrei fare? Magari istruendo il modulo ad
attivare anche la connessione telefonica?
Grazie fin d'ora
Lorenzo

potresti usare InetTransferLib che e' distribuita come Addin di Access97, io
pero' non riesco a referenziarla in Access2000.
C'e' qualcuno che ne sa di piu'


 ha scritto nel messaggio
news:ajp291$qus$1...@monty.lombardiacom.it...

Ho provato da poco il controllo activex INet distribuito con il developer
(acc'97). Se fai una ricerca in MS con la voce INET trovi molti esempi;
trovi anche il bug relativo allo stesso controllo ma distribuito con VB.
Quello del developer funziona, questo è un piccolo esempio del codice che ho
utilizzato:
'------------
Dim strSite As String
Dim strFile As String
strSite = Me!txtFTPSite
strFile = Me!txtFileName
objFTP.Protocol = icFTP
objFTP.UserName = "administrator"
objFTP.Password = "PippoPippo"
objFTP.URL = strSite
Do While objFTP.StillExecuting
    DoEvents
Loop
objFTP.Execute strSite, "PUT C:\temp\" & strFile & " " & strFile
Do While objFTP.StillExecuting
    DoEvents
Loop
objFTP.Cancel
'------------
Ciao.
--
Sergio MAZZA

 ha scritto nel messaggio
news:ajqre4$lu7$1...@lacerta.tiscalinet.it...



Ho provato ad usare il tuo codice ma mi restituisce un errore....
"Necesssario oggetto"
Saluti Galvy


Controlla i rifermenti, e indica in quale riga ti presenta l'errore...
Ciao.
--
Sergio MAZZA


Anche per te la raccomandazione di leggere le regole di questo NG; le trovi
su www.sitocomune.com...
Ciao.
--
Sergio MAZZA


E' appunto ciň che ho fatto(ho letto il codice errore e mi sono informato)
ma dato che non sono pratico di ftp da vba non ci ho capito nulla.....non
avresti qualche dritta??
Galvy


Non centra nulla la "praticità di ftp da VBA"; vuoi sapere che ho fatto io?
Mi hanno chiesto di fare questo programmino, ho cercato dei controlli
activex semplici e disponibili in office; l'ho trovato nel developer ('97) e
ho cercato informazioni in MS e siti VB/VBA.
Ho studiato quelle tre righe di codice per utilizzarlo; l'ho provato e
zac... Tutto qui.
Ora se non mi descrivi cosa e come hai realizzato (con la riga di errore e
il messaggio che ti presenta) io come faccio a darti una dritta?
Posso andare a tastoni: hai inserito il controllo activex sulla maschera e
chiamato "objFTP"?
Considera che il codice di esempio lo trovi in MS cercando proprio la voce
INET e precisamente: "ACC97: Example Using the Internet Transfer ActiveX
Control"...
Ciao.
--
Sergio MAZZA

 ha scritto nel messaggio
news:ak02ch$fr5$1...@lacerta.tiscalinet.it...

Anzi scusa + semplicemente objftp non devo dichiararlo uguale a qualcosa????
Dim objftp as ??????????????? non so...
Saluti Galvy


Ah ecco! Ciavevo indovinato...
Nell'esempio di MS inseriva la dichiarazione nel caricamento della form
(bleah!); visto che te l'ho riportato così com'è senza indicartelo, ti
chiedo scusa io della mancanza...
Ricapitoliamo; inserisci il controllo activex inet sulla form, chiamalo
InetTran; due caselle di testo chiamate txtFTPSite e txtFileName; un bottone
con nome cmdGetFile.
Poi nell'evento "su clic" del bottone scrivi:
'--------
Dim objFTP As Inet
Set objFTP = Me!InetTran.Object
Dim strSite As String
Dim strFile As String
strSite = Me!txtFTPSite
strFile = Me!txtFileName
objFTP.Protocol = icFTP
objFTP.UserName = "administrator"
objFTP.Password = "segreta"
objFTP.URL = strSite
Do While objFTP.StillExecuting
    DoEvents
Loop
objFTP.Execute strSite, "PUT C:\temp\" & strFile & " " & strFile
Do While objFTP.StillExecuting
    DoEvents
Loop
objFTP.Cancel
'-----------
Ciao.
--
Sergio MAZZA

Finalemente domo riceerche e ricerche ho scoperto che quel controllo activex
è in uso con office developer..... io possiedo office 2000 semplice.....
Sorry but Microsoft Internet Transfert..... non è concesso con office
2000...
Avresti mica altri suggerimenti lasciando perdere quelli che mi hai appena
dato?
Saluti Galvy

 Saluti Galvy
Ciao.
--
Sergio MAZZA

mi è stato detto che il controllo internet transfert protocol.......6  è
msinet.ocx l'ho scaricato è installato sul mio pc ho provato ad aggiungere
nella form il controllo activx ma mi da errore(autorizzazione non concessa)
mi sono spostato su un altro pc con acces 2000 (io uso XP) e ci ho riprovato
con successo.
Ma quando arriva il momento del execute mi restituisce errore "metodo
execute del iinet non riuscito"...???
Hai qualche idea oppure devo comprarmi office developer?
Saluti Galvy

 ha scritto nel messaggio
news:EFm99.89525$n04.2...@twister2.libero.it...

L'hai scaricato? E da dove? Ho già detto che alcune versioni del controllo
inet sono "fallate", MS l'ha riconosciuto; se esegui una ricerca nel KB
troverai la descrizione del bug. Ma viene indicato che la versione fallata è
quella inclusa in VB 5 (Internet Transfer Control 5.0); io ho installato VB6
+ sp relativi e non è cambiato nulla (anche riformattando il pc). Quando ho
visto che il controllo era disponibile nel developer di access97, l'ho
provato e funziona...
Il consiglio che ti posso dare è controllare che versione hai installato ed
eventualmente sostituirla con quella presente nel developer di access'97...
Ciao.
--
Sergio MAZZA


Meglio ancora mi sono comprato office XP developer ma nulla sono disperato
ho aggiounto il controllo activex ecc ecc scritto il codice ma nulla "Metodo
Execute non supportato........" sono disperato.
Per prova hai qualche altro esempio (codice) di FTP da VBA ????? potrei
ringraziarti da oggi sino al nuovo millennio....
Saluti Galvy

 ha scritto nel messaggio
news:Gn3d9.143532$lu5.3...@twister1.libero.it...

Ho provato per curiosità e a me funziona forse il problema sussiste nella
composizione del comando.
Ti passo il codice che ho utilizzato con il mio spazio web su Tiscali
Utilizzo Win98 e OfficeXp developer edition
Crea una maschera nuova, aggiungi il controlloMicrosoft Internet Transfer
control, aggiungi un Pulsante e nell'evento click copia il codice qui sotto.
Private Sub P_Trasmetti_Click()
Dim Comando As String   'Comando
Dim PathSrc As String      ' Path sorgente
Dim PathDst As String      'Path destinazione
Dim File As String            'Nome File da trasferire
Inet1.Protocol = icFTP
Inet1.URL = "
ftp://nomeutente:pass...@ftp.tiscali.it
"
Inet1.RemoteHost = "
ftp.tiscali.it
"
Inet1.UserName = "nomeutente"
Inet1.Password = "password"
PathSrc = "C:/Documenti/"
PathDst = ""
File = "1.txt"
Comando = "PUT """ & PathSrc & File & """ """ & PathDst & File & """"
Me.Inet1.Execute "", Comando
End Sub
Ciao Giorgio.


Altri esempi che utilizzano il controlli Inet non ne ho, quello è il più
semplice.
Prova con il codice inviato da Giorgio prx; ma sei sicuro di avere i
permessi per accedere al sito ftp?
Ciao.
--
Sergio MAZZA


Il controllo microsoft internet........... nella from si chima immagino
inet1...
Giusto?
Saluti Galvy

 ha scritto nel messaggio
news:oMmd9.147859$lu5.3...@twister1.libero.it...

Esatto e se vuoi inviare una sequenza di comandi intramezzali con questo
loop
'Attesa fine del comando
Do
     If Inet1.StillExecuting = False Then Exit Do
     DoEvents
Loop
La versione di Msinet.ocx da me utilizzata è la 6.00.8877 del May 26, 2000.
Ciao Giorgio.


Ok! tutto bene ma ora che sono riuscito grazie a te a fare ftp vorrei
chiederti....
(sempre + difficile) durante upload o download di un file avere una barra di
progresso in base ai byte inviati o ricevuti.
Hai un idea?
Saluti e Grazie Galvy


Esempi di Giorgio OK!
Grazie a tutti!


Con Il Controllo Msinet di più non può in quanto ha solo l'evento
StateChanged.
Mi sono ritrovato nel computer (prelevando un client ftp freewhare) il
controllo EvansFtp completo di help e ho visto che ha l'evento  -
DataTransfer(FileName As String, BytesBlockSize As Long,
CurrentFileBytesTransfered As Long, CurrentFileBytesSize As Long,
CurrentFileBytesRemaining As Long, OverallBytesTransfered As Long,
OverallBytesSize As Long, Key) e come vedi c'e l'occorrente per creare una
barra di progresso
informazioni più dettagliate le trovi su Evans FTP
http://www.evans-programming.com/evansftp.asp
Ciao Giorgio.


Ora vedo quello che riesco a combinare :)
Ti so dire mille grazie per ora!
Saluti Galvy




How To: Come aggiungere una StatusBar all'controllo MsInet


http://support.microsoft.com/default.aspx?scid=kb;it;I15701


Ciao Giorgio


 







How To: Come aggiungere una StatusBar al controllo MsInet
