EXCELVBAで実現していることを、アクセスで現在作っているツールに入れ込みたいと思っており、質問です。
EXCELのシートの中に表があります。
行、列の数は毎回変わります。
また、行は1行目から始まりません。
そこから任意のフィールド名を探し、列を並び替えるような作業です。
今実現したいことは、この作業をアクセスでスタートし、結果をアクセスのフォームで表示することです。ユーザーはアクセスのみ操作するようにしたいです。
このような作業をアクセスで実現する場合
①アクセスのみで行うことが可能
②アクセスからEXCELに実行させて結果をアクセスに取り込む
どちらが可能、もしくは効率的になりますでしょうか。
EXCELとアクセスの連携本も色々見かけますが、そういった本を参考にしたら載っていそうでしょうか。
これから取り組む予定なのですが、①②どちらの方法を探索していったらいいかわからず質問しました。スミマセン。宜しくお願いします
ACCESSはデータベースソフトです。「行数が変わる=データの件数が変わる」のは普通ですが、「列数が変わる=データの構造が変わる」のは基本、想定しません。
正規化をキーワードに調べてみてください。
正規化自体はただの考え方なのでExcelで実装でもACCESSで実装でも変わりません。正規化されたデータの処理ならACCESSのほうが得意です。
ACCESSにデータの取り込みが必要ならそれは正規化が必要で、ACCESSで組んだほうが楽(正規化しつつデータ取込できる)です。
また、データベースというのはデータ自体の順番を重視しません。都度、データの中身を使って並び順を指定します。そのため、データ取込の前にExcelで並び替えをしてもあまり意味がありません。(ACCESSに取り込んだらACCESSでの設定も必要)
ただ、たとえば純粋な記録順というのが欲しい場合、Excelで「並び順」列を用意して連番にして記録しておくというようなことはあるかもしれません。(この場合は記録日時列を作ってタイムスタンプを取るという形のほうがそれっぽいですが)