- 締切済み
複数のエクセルファイルをアクセスにインポートし自動で一つのデータにまとめたい
複数の拠点から商品リストを集計し一つの統合した商品リストとして まとめたいと思っております。 フォーマットはエクセルを利用した定型フォーム(例えば、A列に拠点名 、B列に商品名、C列に数量など)とし、この複数のエクセルデータを アクセスにインポートして、自動で一つのデータにまとめることは できないでしょうか? 具体的には、マクロボタンを実行すると、読み込みファイルの選択画 (エクセルの「名前を付けて保存」時に出てくる保存場所を選択する画面 のような)が表れ、読み込みたいファイルを選択。読み込みボタンを押すと、 複数のファイルを一つに合算された一つのデータが排出される というものを目指しております。 つたない説明で大変申し訳ありませんが、どなたか何卒ご教授いただき ますようお願いいたします。 での読み込みファイル
- みんなの回答 (1)
- 専門家の回答
みんなの回答
> 自動で一つのデータにまとめることはできないでしょうか? 出来ますよ。 多分エクセルにCSVファイルに取り込むと別々になってしまうので アクセスでも同じイメージを描いているのだと思われます。 アクセスではある意味レコード(エクセルで言う行)単位で 逐次取り込まれていきます。 ところで、質問の目的がはっきりしませんね。 まさか、「取込用のコード全て示せ」と言うわけでは無いですよね? ブロックダイアグラムとしてなら、 1.フォームを開く 2.特定のフォルダの中のXLSファイル名をDIR関数などで取り込む Openイベントプロシージャで指定しておく。 あるいはAPIを使う手もありますが... 3.これをコンボボックスのROWソースとして放り込む。 コンボボックスは、複数選択可能な設定にしておく。 4.選択して「GO」ボタンを押した時のプロシージャで 選択項目を取り出す。(Selecedなどを使う) 5.取り出したファイル名を元に、ファイルを順次インポートする。 DoCmd.TrasferSpreadsheet acImport・・・をつかう この行で取り込むテーブルも指定する。 複数のフィルからインポートしても、レコードが追加されるだけで 別テーブルへの取込を指定をしない限り、エクセルのように別々にはならない 細かな注意点や、予め設定しておくことは色々とありますが、 大まかには以上のような流れになります。
補足
早速のご返答大変ありがとうございます。 アドバイスを参考にチャレンジしてみます!