質問:
一般的な感覚として、.CSV ファイルを「SQL ステートメントを実行する」ために抽象化する必要があるのは正確には何ですか?
以下の「問題」のステップ 1 の反復ループを記述できると思いますが、ステップ 2 の実行方法がまったくわかりません。
問題:
私は大学のオフィスで働いており、そこでは夜通しのスクリプト (私が作成したものではありません) が大学のデータベースをくまなく調べて、翌日「差し込み印刷」で送信する必要がある手紙の .csv ファイルを生成します。これらの .csv ファイルは、アクセスできるサーバー フォルダーに保存されます。
これを行う技術は限られており、入学期間ごとに異なる .csv ファイルを生成します。 (これは、自動化ソフトウェアが大学のデータベースを精査する際に、どの入学条件に注意を払うべきかをどのように認識しているかに関連しているようです。)
しかし、私の MS Word Mail Merge ドキュメントでは、この .csv ファイルの分離は必要ありません。「入学条件」は .csv ファイル自体のフィールドでもあるからです。必要なバリエーションは、条件付きロジックとフィールド挿入で実現できます。
.csv ファイルの分離により、用語ごとに 1 つだけ、同じ一般的なアイデアに対して複数の冗長な Word ドキュメントを維持する必要がありました。新しい学期のセットに集中することに移行するたびに維持する頭痛。私は Access ソリューション (以下を参照) でそれを修正しましたが、今ではITの維持が頭の痛い問題になっています。
残念ながら、オーバーナイト スクリプトの出力を変更するアクセス権がないため、入手した .csv ファイルで行き詰っています。
私がやりたいことは、デスクトップ PC またはサーバーに常駐するプログラムを作成することです。
- 該当するサーバー フォルダ内のすべてのファイルをループし、ファイルが特定のファイル名基準を満たしているかどうか、内容が null でないかどうかを判断します。
- ステップ 1 に一致する .csv ファイルを、SQL を実行できる抽象化に抽象化します。
- 一致する.csvファイルごとに、「SELECT * FROM [.csvファイルの抽象化]」でSQL「UNION ALL」ステートメントを実行します
- ステップ 3 の結果を、新しい「マージされた」.csv ファイルとしてサーバーに書き込みます (差し込み印刷ファイルを指定します)。
- (さらに、プログラムを自動化して特定のスケジュールで実行したいので、ツールの選択に影響します。)
これまでのところ、MS Access を使用して手順 3 と 4 を実行しました (そして、差し込み印刷ファイルを開いたときに Word で .mdb ファイルから直接読み取らせました)。
ただし、別の一連の用語に焦点を当てたい場合、それは本当に頭の痛い問題です。取得した .csv ファイルにはファイル名に許可用語が組み込まれているため、.mdb が参照する .csv ファイルを手動で変更する必要があります。
6 か月ごとに、特定の新しい .csv ファイルを新しい「リンクされたテーブル」にインポートし、ユニオンを再ポイントし、不要になった古い「リンクされたテーブル」をクリーンアップするなどの作業に数時間かかります。
たとえ毎日それをしなければならないとしても、私はその仕事にコンピュータを働かせたいと思っています. :-)