プロが教えるわが家の防犯対策術!

データベースのダンプファイルを月1で送られてきて、それをブチ切りにしてピボットテーブルを使い、仕分けをしています。アクセスで一括処理+プリントアウトまで出来るようにしたいと思っているのですが、良い情報が見つかりません。

とりあえず、サンプルデータとしては
名前(20桁)社会保障番号(9桁)電話番号(10桁)がズラズラ100項目並ぶタダのテキストデータです。NULL部分には~(チルダ)が入っておりますので、縦でズッバ!っと切ってもデータがシフトすることは無いです。

アクセスにインポートするときに、縦で切る作業を自動化したいと思っていますが、良いスクリプトなどがあれば、ご教授ください。
今エクセル内蔵のインポートツールを使い、100ある項目を一つずつ切っている状態です。

もしくは、テキストを横列でインポートしておき、left、mid、rightなどのファンクションでブチ切りにして、データを作り直す方法でも構いません。

とりあえず、Gooの中は検索をかけて調べてみたのですが、良い例が見つからなかったもので、ご教授いただければ、幸いです。

宜しくお願いします。

A 回答 (1件)

ご質問を読む限り、どうして最初からAccessでインポートしないのかな、と思います。

何かそうできない理由があるんでしょうか? 詳細がわからないのでなんともいえませんが、スクリプト以前に、手作業で解決できるのではないですか。

まずは手作業ならどうなるか確認させてください。テキストインポートの一般的な手順を書きますので、違うところは補足お願いします。ちなみに当方Access2000なのでメニュー項目など、細かい部分は違うかもしれません。

 1. Accessのメニューで「ファイル」-「外部データの取り込み」-「インポート」を選択
 2. テキストファイルを選択する
 3. 「テキストインポートウイザード」で「固定長」を選択する(区切記号があるのかもしれない)
 4. 区切り位置を指定する
 5. 保存先を選ぶ(ここでは新規テーブルと仮定)
 6. 各項目の名前、データ型などを指定する
 7. 主キーを設定する
 8. 必要があればテーブル名を変更して[OK] -> 完了

この操作でできますか? できないとすればどこでしょう。もしくは面倒だと感じている部分はどこでしょう。想像すると、4、6を毎回作業するのが面倒なのかもしれません。しかし、この部分はインポート定義として保存できるので、一度保存しておけば次からは定義を呼び出すだけで設定できます。

自動化するにしても、まずは手順をはっきりさせないといけませんので、補足をお願いします。ご質問の意図と違っていたら申し訳ありません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!