- ベストアンサー
EXCELデータからACCESSデータの更新
ある一定期間で送られてくるエクセルベースのデータをアクセスのデータへ更新をかけたいのですが何かよい方法は無いでしょうか? エクセルのデータは二つで毎日データ更新がされて週に一回くらい送られてきます。アクセスのデータベースも同じように変更をおこなってる部分もあるので一括インポートも難しいです。 アクセスデータをエクセルに出力の上MATCHを行い更新された部分を探して更新すればいいのですがあまりにも量が多いものですから何かいい方法は無いでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
Excelからインポートという問題の立て方というよりもデータのインポートの問題かと思います。 私の会社では、各店からFTPサーバー経由でデータが送られてきています。 これは、重複して送られてくるケースもあります。 当然のことながら新規データであれば追加処理をしなければなりません。 この場合には、主キーの管理テーブルも更新しなければなりません。 データベースに反映すべきデータであればデータベースを修正します。 また、誤ったデータであればインポートをスキップして送信側に通知する必要もあります。 なお、追加・変更一覧も送信者に通知しております。 このように、データインポートと一口に言ってもやることは多いです。 無手順で流し込むことはほとんど不可能かと思います。 であれば、インポートプログラムを作成するしかないです。 ところで、NO1さんのご指摘のように、余りにも漠然としています。 VBで実現するのか?Accessで開発するのか? DAOを利用するのか、それともADOで行くのか? ここら辺りの方向性を決めて、それぞれの各ステップで不明点があればその件で質問されたがいいです。 ただ、Excelにインポートコードは書かないと思います。 Excelは対象データでしかないと考えるべきかなーと考えます。 まあ、インポートコードを書く腹をくくったがいいと思った次第です。
その他の回答 (2)
- kakkysan
- ベストアンサー率37% (190/511)
当該エクセルベースのデータを、テーブルの所でリンクすればそれで済んでしまいます。 テーブルオブジェクトの何もないところで「右クリック」「テーブルのリンク」で「ファイルの種類」をxlsにして、当該エクセルの必要なシートを選択すれば、リンク完成で、後は普通のテーブルと同じように扱えます。 ただし、リンクするシートにはフィールド名をきちんと入れておくこと、必要のないデータ(シートの表題やセル内のメモ書き)を削除しておく。 また、それをクエリで使うなら、主キーに相当するフィールドを作っておく。
臨時テーブルに読み込み、適当なSQL(クエリー)を利用して更新を行えばよいでしょう。具体的には情報が不足しているのでこれ以上は判りません。
お礼
回答ありがとう御座います。 無手順で流し込むのはやはり不可能なんですね。 うすうす感じてはいましたが。 Accessで開発を使用と思うのでインポートコードをかいてみる努力をしようと思います。 ありがとう御座います。またくよろしくお願いいたします