アプリ版:「スタンプのみでお礼する」機能のリリースについて

テキストファイルをアクセスに固定長で2行目から取り込みたいです。
エクセルのように、行指定する項目がありません。
インポート定義を作成し、さらにモジュールにそれの2行目から。
みたいな指定が出来るのでしょうか??
どうか教えてください!

A 回答 (1件)

一行ずつ読み込んで、分解してテーブルに入れていくか、


全部をインポートして、アクセス内で必要な処理を行うか
どちらかだと思いますが、どのような頻度でどのくらいの量をインポートされた以下によってどちらを選んだらよいのかが変わってくると思います。
>インポート定義
というのは、テキストの何文字目から何文字目をフィールド1として取り込んで、、、、ということでしょうか?

一行ずつというのであれば
line input などをつかって それこそDo-loopをくみ二行目から最後まで、データを読み(必要ならmid関数などで必要部分を取り出し)ADOなどでアクセスレコードを作成する。

全部いっぺんにということであれば、
DoCmd.Transfertext などでテキストを仮テーブルにインポートして、一行目を消して、(ADOが楽かな)後は、クエリなどで体裁を整えるということになります。 仮テーブルがある場合は、インポートするデータが多いと時々データベースの最適化などをする必要が出てくるかもしれません。

あまり経験がないようでしたら、一行ずつ読み込むほうが簡単だと思います。

この回答への補足

ご解答ありがとうございます。
データは全て取り込みたいです。。
あらかじめ、インポート定義を作って、
[ファイル]-[インポート]から、"最新支払明細インポート定義"を
指定して、取り込む分には、1行目が空白です。みたいな、エラーは出るものの、取り込めます。
ただ、自動化したいので、下記のような構文でやると、何故か、テーブルの中味が空白になってしまいます。
しかし、件数は合っているので、どうやら空白を取り込んでいるようです。
DoCmd.TransferText acImportDelim, "最新支払明細インポート定義", _
"支払明細", CurrentProject.Path & "\支払明細.txt"
1行目の空白でエラーを起こして、取り込めないんだと思いテキストファイルを開き、削除して取り込み直しても駄目でした。
ファイルメニューからのインポートだと、出来るので、構文が間違っているなどの原因かと思ったのですが、いかがでしょうか?
自動化すると、インポート定義で指定した、固定長が正しく、認識されなくなってしまっているようです。

補足日時:2007/03/12 15:11
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています