人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

アクセス初心者です。
ちょっと途方にくれていますので力を貸してください。


エクセルで作られたデータベースもどきのモノがあります。
中身は、さすがエクセルで作られていただけあって整合性はかなりめっちゃくちゃです。


重複もしまくってますし、数値とテキストが入り混じっています。
ひとまずテーブルとして取り込んではみたものの、フィールドはほとんどテキストで取り込まざるを得ませんでした。


さて、具体的に聞くのも難しいのですが、いったい何をしたらいいのでしょうか。


まずは、フィールドのデータ型の設定をしないことにはどうにもならんのですが、
この作業は今後も継続して行われるため、全てクエリで作成してしまいたい。


エクセル上で「毎回正しいデータ型に加工してから取り込む」というのはかなり難しい、(というか不可能)です。




経験上、こんな場合はみなさんどういう手順で何をどうされてますか???
用語の使い方がところどころ怪しいかもしれませんが、おおよそざっくりアドバイスをください。

●質問者: petem
●カテゴリ:コンピュータ 学習・教育
✍キーワード:ほと めっちゃ アクセス アドバイス エクセル
○ 状態 :終了
└ 回答数 : 7/7件

▽最新の回答へ

1 ● hanako393
●1ポイント

すべてテキストで処理したら駄目なんですか?

データの重複も許せばよいのではないですか?

何が駄目なんでしょう?

整合性のないまま、そもまま処理すればよいだけでは?


2 ● koriki-kozou
●26ポイント

>フィールドはほとんどテキストで取り込まざるを得ませんでした

そこは鬼になって、最初から数値型であるべきところは数値型、テキストであるべきところはテキストとして読み込まなければならない

読み込みに失敗したレコードについては別途で吐き出されるので、吐き出されたレコードの状況に応じて対応していくことになる


吐き出されたレコードに法則性が見受けられれば自動処理化への希望も見えてくる

見えてきても、おおよそ基本的にクエリだけでの対応は不可能に近いだろう

Access側で対処できそうなものであればAccessVBAで処理することになる


AccessVBAよりはExcelVBAのほうが扱いやすいため、インポートエラーとなる法則性みたいなものを把握できたならば

おおよそはExcelVBA側で変換しておいてからAccess側でインポートという手を使うと楽

(csv出力したものをテキスト処理してからAccessにインポートとか、他にもいろいろと手はあるが、その辺はスキル次第)


今回限りの作業であれば、以上のような感じ

今後も定期的に発生するならばExcelのほうで入力規則を設定してしまう/フォームを作って対応/ExcelVBAで入力チェックするなど、状況に応じて対応を考えなければならないです


インポートエラーの画像を探して以下が引っかかった。参考になりそうなので書き加えておきます

第 2 回 「インポート方法の選択とエラー対処」 ‐ Access へ既存データをインポートする

http://www.microsoft.com/japan/technet/archive/columns/suo/acces...

第 1 回 「はじめにルールありき」 ‐ Excel 関数を使ってみましょう ‐

http://www.microsoft.com/japan/technet/archive/columns/suo/excel...


3 ● きゃづみぃ
●17ポイント

全角数値と半角数値が混じっている場合があるならば 半角数値に変換して取り込ませればいいです。

ロジックはどのような全角数値があるかによっても変わってきますので、それに応じたロジックを作らなければいけません。

たとえば

1000という値だったら 1000 に変換するとか

千を 無条件に 000するなど。

2千 だったら 2000 にするとか。


で、手順としては 普通に取り込んで、取り込めたデータには ○をつけ だめだったやつは ×をつける。

で、×のついたデータだけ目で確認して データを手動で変換 もしくは 共通性があれば

変換用のロジックを作成して 取り込むとなります。


4 ● najirane
●17ポイント

そのデータが、123,456,りんご,日本,789,DOG,TRUE,,,なんていう完全にはちゃめちゃな場合を除き

1番の人に同じです。すべてテキストとして処理することに私も何ら違和感を持ちません。


何をどのように処理しているかデータを見ないことには解りませんが、

たとえば"00123"と"123"は違う。として処理したい場合とか

"6/8"とか"3/8"←日付でも分数でもなくそういったモノ、たとえば管や工具のサイズ等を扱う場合は

テキストでなければならない場合もありますし、ソートや抽出もやり方如何でいくらでも可能だからです。


正規化(フォーマットの特定)は日頃良く行われる処理で必ず何か不都合が生じる等、

不都合そのものが特定出来てからでよいのではないでしょうか?

そのほうがより明確に何をどうしたらよいのかの指針が解ります。


5 ●
●17ポイント

エクセルのデータがぐちゃぐちゃでお困りで、アクセスにしたい。

で、今後もエクセルでデータを取り込まなければいけない。

ですか?

とりあえずは、

エクセル上で各フィールドの型を整理

数字は数字

テキストはテキスト

その他の型はきちんと決めて整理

で、データ型をちゃんときめたアクセスにインポート


で、この先はアクセスで作ったビューから入力してもらう。

じゃ、まずいでしょか。


1-5件表示/7件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ