
大容量のExcelデータをAccessにて、リンクテーブルで取り込み、処理をしたいと考えております。
現在、Excelにてデータ管理をしており、その量が常に1万行を超えております。ExcelデータをDBに移行し、プログラムを組んで新たなシステム開発をと考えておりましたが、このExcelデータは、様々な作業の元ネタともなっており、ある一部の仕様だけをシステム化するとなると、かなり大幅な工期にもなること、技術者確保が現在無理であること、運用をいきなり変えるということが不可能なことで、どうしても現在のExcelデータをベースにして一部の処理をシステム化する(ツールレベルになるでしょう)程度でしか、今は開発ができないと察しております。
そこで、Excelデータを取り込み、そこから必要なデータだけをチョイスして、全体作業の中の一部の作業だけを簡略化しようとしております。
取り込んだ後、チョイスして加工するわけですが、例えば、ある行は「処理済み」と言う形で、Excelの当該行にチェックを書込む処理も必要になります(現在は手作業なので)。
よって、インポートするよりもリンクテーブル化したほうが、都合のいい開発が出来るのでは?と考えております。
問題は、インポートの場合は、読込行の指定が可能なようですが、リンクテーブルの場合、不可能とのこと。
何か方法があればご教授して頂きたいと存じます。
元データとなるExcelですが、1行30セルほど。
読取開始行は、4行目からですが、4行目以降の行が不規則で、一つのまとまりごとに、コメントや合計値を算出している行を挟んでおります。
例)
No、管理No、発注者、取引先、商品名、金額、数量・・・・・・
この行が例えば3つ有り、その次の行にコメントや合計値が記載。1行空けてみたり、数行空けてみたりして、次から改めてNo、管理No、発注者、取引先・・・・のように続きます。
あまり詳しく個々では書けませんが、よろしくお願い致します。
Accessは、2000ないしは2003。Excelは2000ないしは2003を利用。
利用者は1人を対象にしてますが、Excel自体は、現在3~5人で同時利用している状態です。
OSはXP。主にノートPCで使用。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
なんかあまり聞いたことがない状況ですね。
つまり現在のExcelのファイルはそのままに追加のシステムを作りたい
ということのようです。
しかもExcelのデータがとてもそのままデータベースになりにくい
やっぱり先のことを考えると小手先に頼らず、きちんと正規化したテーブルを設計してAccessに実装するほうがいいと思います。
AccessからインポートするよりExcelからプッシュするほうがやりやすいと思います。(ADOで検索してください)。
つまりExcelのファイルからVBAでAccessにデータを書込みをするようにしたほうがいいでしょう、決め細かい処理が可能。
10000行程度でしたら、多少複雑な処理をしても、数分で済むと思います。
Excel側へのチェックマークのタイミングはどうでしょうか。
Accessへの書込みのときにつけるのですか、それともAccessのデータの加工時
につけるのですか。
私はExcelとAccessで開発しますが、ほとんどAccessはテーブルを設計したら、Accessを起動することはありません。すべてExcelでデータを取り出し、書込みを行うようにしています。Accessというよりデータベースエンジン(Jet)として利用しています。
日が経ってしまい申し訳ありません。
やはりAceessをDBベースにしての開発の方がセオリー的なのかと思います。
問題は、弊社の業務そのものに帰結し、Excelでなければ見づらい、入力しづらいといったユーザのこだわりが最も大きな壁になっております。
ご教授ありがとうございました。
No.1
- 回答日時:
Accessのインポート定義はどうでしょうか?
インポートしたい列を選択できます。
この回答への補足
早速のご回答ありがとうございます。
一昨日から悩んでおり、他に方法が無いかとも検討中ですが、取り急ぎの方法として先のリンクテーブルでの方法が良いと考えた次第です。
誤記がありましたので、ここで訂正させていただきます。
×「ある一部の仕様だけをシステム化するとなると、かなり大幅な工期にもなること、」
○「全体の仕様をシステム化するとなると、他のExcelでの管理物も考慮して、運用方針を大転換するものにもなりえることで、かなり大幅な工期にもなること、」
×「あまり詳しく個々では」
○「あまり詳しくここでは」
=======================
ご回答頂いた、インポート定義とは、テキストインポートウイザード画面にある設定ボタン押下にて表示される画面での設定でしょうか?。この機能ならば、以前別のツール開発をした際利用しましたが、セルの変更や読取セル(チョイス箇所)が変わる度に設定するのが難儀でもあり、忘れましたが、非常に使い勝手が悪い思いを致しました。
もし、この設定と同じものならば・・・なのですが、かなり以前、別のシステム開発で、VBとDBをAccessで開発した際、Iniファイルにフォーマット定義ファイルのようなものを作成して、これを挟む形でテーブルに読み込ませたことがありましたが、これと同じようなものでしょうか?。
私の状況お伝え致しますと、ここ6.7年ほどは開発から遠ざかってもいることで、技術面での忘却が激しいです。
大変申し訳ありませんが、引き続きご教授いただければ幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- その他(データベース) 業務用のデータベースサーバーの選び方について 4 2022/11/22 10:22
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access97の不具合(?)
-
Access2000でピボットテーブル
-
access2000でいつのまにかレコ...
-
AccessのクエリをExc...
-
GETPIVOTDATAを使...
-
Access2000のクエリについて
-
Accessクエリーで両方のテーブ...
-
AccessのDBを理解するコツは?
-
【マクロ】列を折りたたみ非表...
-
エクセルVBAで5行目からオート...
-
ACCESSのSQLで数値型に変換する...
-
Accessのクエリをクロス集計ウ...
-
jwwのクロスラインカーソルの角...
-
accessで指定期間の曜日カウン...
-
ACCESS クエリーから件数取得
-
Access2013 クエリ 他のテーブ...
-
SQLで違うテーブルの集計結果を...
-
関連がある複数のテキストファ...
-
Excel 2019 のピボットテーブル...
-
SQLを教えてください
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのクエリでデータの入力...
-
Accessクエリーで両方のテーブ...
-
Accessのリンクテーブルのパス...
-
Excel→Accessへ貼り付けがおかしい
-
Accessファイルを作成者以外は...
-
AccessのクエリをExc...
-
アクセスのコンボボックスのデ...
-
Access 旧データを新データに入...
-
AccessからExcelのデータを消す...
-
EXCEL データテーブルの数字を...
-
GETPIVOTDATAを使...
-
線の画像を座標数値化するソフ...
-
グラフとデータテーブルの順序...
-
ACCESSのサブフォームでの既定...
-
ExcelデータをAccessにてリンク...
-
エクセル 横棒グラフのデータテ...
-
ACCESSデータを削除してしまい...
-
このリレーションシップを作成...
-
ACCESS フォームに自動連番をふる
-
Accessでの併合のやり方
おすすめ情報