MS Accessデータベースモジュール内からsftpを使用する方法は?
-
03-07-2019 - |
質問
さらにレポートを作成するために別のデータベースにロードされるユーザーデータを収集するために、Accessで簡単なデータベースを作成する必要があります。 Access dbには、ユーザーが(おそらくボタンをクリックして)呼び出すと、区切りファイルにクエリを出力するモジュールがあります。また、ユーザーは、sftpを使用してファイルをリモートサーバーに簡単に転送するためのメカニズム(ボタン付きのフォームなど)も必要です。誰もこれを達成する方法のアイデアを持っていますか?
解決
それを達成したい場合は、バッチファイルを介してsftpコマンドラインクライアントへの呼び出しを記述するだけです。
VBAでShell()関数をチェックアウトします。
フォームのボタンのクリックイベントの下に、コードを追加します。
mySFTPCall = "sftp <insert your options here!>"
Call Shell(mySFTPCall, 1)
以前にこれを使用して、ネットワーク共有などでファイルを直接コピーし、社内のAccess DBからデータを共有しました。もちろん、必要に応じてさらに空想を得ることができます。
他のヒント
SFTPBlackbox(ActiveX Edition)を使用できます。
FTP COMオブジェクトを見つける必要があると思います。これで、Accessモジュールコードでこれをインスタンス化できるはずです。 dart.comには1つがあり、もっとたくさんあるはずです(Google FTP COMのみ)。
などのコマンドラインアプリに対してシェル呼び出しを行うことができます。 MOVEit Freely は、安全なFTP転送をスクリプト化するフリーウェアです。私は過去にそれを使用しましたが、いくつかの素晴らしい機能があり、非常にうまく機能しました。
MOVEit Freelyは、Windows Vista Business Edition、2003、XP、2000、ME、およびNT 4.0システム用の無料のコマンドラインFTP /セキュアFTP SSL(FTPS)クライアントです。
Chilkat には、COM / ActiveXで動作するFTPコンポーネントがあります。 FTP over SSL(FTPS)をサポートしていると言われていますが、これはSFTPと同じだと思います。以前に他の製品のいくつかを.Netで使用したことがあり、非常にうまく機能しています。彼らは無料トライアルを持っているので、ダウンロードしてそれらがあなたのために働くかどうかをチェックすることで失うものは何もありません。