- ベストアンサー
Access2000でFTPの使い方について。
Access2000のフォームから、実行のボタンをクリックするとFTPサーバに接続→ファイル取得→Accessテーブルに取込→FTPサーバのファイル削除→FTPサーバの接続切断という処理をしたいのですがどのようにしたらよいかわかりません。説明不足だとは思いますが、アドバイスを宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ちなみに先ほどのFTPサンプルは、BASP21をインストール後、サンプルのコードを新規モジュールに貼り付けて(たとえば以下をまるごと)実行すればAccessでもそのまま動きます。 sub file_download() Dim ftp As Object, rc As Long, v As Variant, v2 As Variant Dim ctr As Long Set ftp = CreateObject("basp21.FTP") ftp.OpenLog "c:\temp\log.txt" rc = ftp.Connect("ftp.microsoft.com", "anonymous", "") If rc = 0 Then v = ftp.GetDir("bussys/winnt/winnt-public", 2) ' ディレクトリ一覧(詳細) If IsArray(v) Then For Each v2 In v Debug.Print v2 Next End If v = ftp.GetDir("bussys/winnt/winnt-public") ' ディレクトリ一覧(ファイル名のみ) If IsArray(v) Then For Each v2 In v Debug.Print v2 Next End If rc = ftp.GetFile("bussys/winnt/winnt-public/*", "c:\temp") 'ファイル受信 end sub 実行には20秒ほどかかります。 実行前にはCドライブにtempというフォルダを作っておいてください。
その他の回答 (1)
- gadd3
- ベストアンサー率46% (211/451)
Access単体ではできないので、APIなどを使うのだと思います。 僕はAPIは面倒くさいので、BASP21というコンポーネント(Dllファイル)を使っています。 これはメールも送れるDLLなので重宝してます。 http://www.hi-ho.ne.jp/babaq/basp21.html インストールはダウンロードしてWクリックするだけです。 FTPの方法 http://www.hi-ho.ne.jp/babaq/basp21f.html 下方の「●Visual Basic」サンプルをご参照ください。 参照設定はしなくてもコード中に「Set ftp = CreateObject("basp21.FTP") 」と1行書けば使えます。 >ファイル取得→Accessテーブルに取込 の部分は、BASP21ではなくAccessのテキストファイル操作か、カンマ区切りなら、テキストファイルのインポートで行います。いったん目的のファイルをダウンロード後、FTP接続を切ったあと、一番最後にやればいいでしょう。
お礼
ありがとうございました。 参考にさせて頂きます。