• ベストアンサー

datファイルをACCESSへのインポートについて

datファイル(固定長)をテキストに変換してからACCESSにインポートする、というやり方をした時、改行コードがなくサイズが大きいためか処理が中断してしまい、インポートできません。 ためしに件数を減らすと、インポートはできますが1レコードとして見えてしまうので、処理上都合が悪い状況です。 このようなデータをインポートするのに良いやり方があれば教えてください。 1ファイルあたりの最大サイズは、1000 * 800件です。 ACCESS2000を使用。

  • gen24
  • お礼率100% (1/1)

質問者が選んだベストアンサー

  • ベストアンサー
  • t-ka
  • ベストアンサー率28% (14/50)
回答No.1

簡単なのは下記のようなツールを使うこと。 http://www.vector.co.jp/soft/win95/util/se127011.html 多少プログラム書ければ、どんな言語でもこれぐらいは処理できますよ。 http://www.google.com/search?client=opera&rls=ja&q=%EF%BC%B6%EF%BC%A2%EF%BC%A1+%E5%9B%BA%E5%AE%9A%E9%95%B7&sourceid=opera&ie=utf-8&oe=utf-8

gen24
質問者

お礼

さっそくの回答ありがとうございます。 紹介いただいたサイトのVBAを参考に試してみたいと思います。

関連するQ&A

  • Accessでdatファイルのインポート

    Accessを最近はじめたばかりなので、基本的な内容だったらすいません。 自分なりに調べたんですが、分からなかったので質問させて頂きます。 Access2003 SP1を使っているのですが、datファイル(固定長テキストファイル)をインポートする方法を教えていただけないでしょうか? 拡張子を「.txt」に変更してインポートすればいいのは調べて分かるのですが、業務上datファイルのままでインポートしたいんです。 申し訳ありませんが、ご回答宜しくお願い致します。

  • datファイルからaccessにインポートする方法

    ネット上でCGIにて処理されたファイル[.dat]を最終的にaccessのテーブルにインポートしたいのですが、極力自動化できればと思い質問しました。 datの中には個人ID、名前、電話番号、住所などがあります。 (1)accessのインポート機能ではdatから直接取り込めない。 手動でテキストファイルに変換して、インポートを試みましたが、さらに問題が・・・ (2)区切り文字が<>と2文字になっているので、インポート時の処理(区切り文字の指定)では1文字しか指定できない。 ”12345<>たなか<>たろう<>0123-45-6789” ←例 やりたい事は、datからテキストやcsvに変換する処理の自動化。 その中で、区切り文字の変換(テキストエディタの機能を使って、2文字から1文字に変換する事はできました) 理想は1日1回程度、定時に自動で更新する事。 もしくはワンクリックですべての処理を行う事です。 他サイトでも同様の質問をしたのですが、レスがつかず・・・ 無茶なことなのかもしれませんが、ご意見いただければ幸いです。 よろしくお願いします。

  • accessのレコードデータをPostgreSQLに移行したい

    accessのレコードデータをpostgreSQLに移行したいと考えています。 accessのデータをcsvファイルにエクスポートしてからposgresSQLで インポートしようと考えていました。 しかしレコードの中にEnter(改行コード)があるので、csvに変換して しまうとレコードの件数以上に行数ができてしまい、postgresSQLで インポートがうまくできませんでした。 accessのレコードにある改行コードを他の文字に変換するしか posgreSQLに移行する方法はございませんでしょうか? できれば改行コードもそのまま移行したいと考えておりますが 何か良い方法があればご教授頂ければと思います。 よろしくお願いします。

  • ".dat"ファイルをインポート定義体で設定する方法

    ".dat"ファイルをインポート定義体で設定する方法で、ODBCDatabeseを使おうと考えていますが、どのように設定すれば良いのか教えてください。 ※".dat"ファイルの実体は、固定長のテキスト文書です。 なお、どこか参考になるサイトがありましたら、お教え頂ければ幸いです。

  • Access(アクセス)でのインポートについて

    テーブルのインポートでエクセルファイルをインポートしたいのですが「ワークシートインポートウィザード」の画面でテーブルを指定して保存すると 「Microsoft Access」の画面で「すべてのデータをテーブルに追加できませんでした。 キー違反のため、0件のレコードのデータが失われ、0件のレコードが削除されました。」と出てきて、保存できません。 もとのテーブルのデータ型を使ってインポートするにはどうしたらいいのでしょうか。よろしくお願いします。 インポートする元のデータ(エクセル)とインポート先(アクセス)の関係は次の通りです。 エクセルファイル    アクセスのテーブル (セルの書式設定)   データ型、フィールドサイズ --------------------------------------------- 数値          数値型、長整数型 文字列         テキスト型、16 インポートする前に元のエクセルデータをアクセスのデータ型に合わせただけではダメなのでしょうか

  • Accessのデータベースの容量見積もり

    Access2007でデータベースを設計しようとしています。 利用者がレコードを追加していくタイプのもので、ファイル形式はAccess2000です。 ファイルサイズが2GBを超えないように最大件数などを決めていきたいのですが、何件データを入れると大体どのくらいのサイズになるかというのは、どういう計算で求めればいいのでしょうか? ちょっと試しにデータを入力してみると、実際に入力したデータ量と比べてファイルサイズはかなり大きくなっていて、単純にフィールドサイズの合計×レコード件数で求めるというわけではないみたいで困っています。 よろしくお願いします。

  • ACCESS97 : レコードが長いファイルのインポートについて

    ACCESS97で、文字列を文字数ではなくバイト数で扱うことは可能でしょうか。 1レコードが20,000ByteあるテキストファイルをACCESS97のテーブルに インポートしようとしています。 インポート先のテーブルのフィールドをすべて「メモ型」にしたのですが、 インポート定義を利用してインポートを行おうとすると、 「レコードが大きすぎます。」というエラーが発生します。 そこで、プログラムでファイルを1レコードずつ読み込みながらテーブルに インサートしていく方法を取ろうかと思います。 テキストファイルは半角と全角が混在しているのですが、困ったことに 全角のデータが入るべきところに半角が混ざっている可能性があります。 たとえば、全角10文字入るべき場所に半角の空白が20文字入っていると いうような状態です。 この状態で StrConv関数でUnicodeに変換してからMidB$関数で文字を抜き 出すと、フィールドがずれてきます。 1文字目から10文字分、ではなく1Byte目から10Byte、などというように文 字列を扱うことができれば、全角と半角がどのような位置で混在していても 関係なくプログラム上で扱うことができると思うのですが,方法がわかりません。 また、これ以外で長いレコードのファイルをインポートできる方法があれば 教えていただきたいと思います。 長くなってしまいましたが、ご回答をいただけますようよろしくお願いいたします。

  • ACCESSで、テキストファイルをインポートしたい

    宜しくお願い致します。 ACCESSで、テキストファイルをインポートしてテーブルを作成したいのですが、ファイル→インポートを選択して、ウィザードを開く方法は分かるのですが、マクロを作成してインポートは出来ないでしょうか? excel、CSVファイルでしたら、「ワークシート変換」、「テキスト変換」のマクロでインポートしたりエクスポートしたり出来ると思うのですが・・・、 (1)テキストファイルをインポートしたり、エクスポートしたりする場合、どのようなマクロがあるのでしょうか。 (ためしに、「出力」マクロで、あるテーブルをCSVファイルにエクスポートしてみたのですが、カンマ区切りにできず、excelのような枠付きのテキストファイルになってしまいました。) (2)容量が大きいデータの場合は、テキストファイルでエクスポートしたほうが良い・・・という認識に間違いはありませんでしょうか。 質問が一つ増えてしまいましたが、宜しくお願い致します。

  • アクセス2007でのインポートエラー「カレントレコードがありません」に

    アクセス2007でのインポートエラー「カレントレコードがありません」について。 データをインポートしようとすると「カレントレコードがありません」と表示され、インポートできません。同時に作成されるインポートエラーテーブルを確認すると「型変換エラー」が原因のようです。 インポート先のファイル(名簿.accdb)は、従前使用していたアクセス2003のファイル(名簿.mdb)を2007対応にしたものです。(各オブジェクトの構成や保有データは同一) 試しに、同じテキストデータをアクセス2003ファイル(名簿.mdb)にインポートしたところ、正常に完了しました。 アクセス2003の入ったパソコンが廃棄予定であり、今後はアクセス2007ファイル(名簿.accdb)を使いたいのですが、非常に困っています。原因と対処法を教えてください。 ※インポートする元データはエクセルマクロ有効ブック(.xlsm)のため、コピーしてテキスト形式で保存しなおしています。

  • テキストファイルに改行コードを付加してレコードを分割したい。

    テキストファイルに改行コードを付加してレコードを分割したい。 MSDOSテキストファイルで、1レコードのサイズが128バイトのテキストファイルが あるのですが、レコード間に改行コードがありません。 レコード10件なら1280バイト 20件なら2560バイトのファイルです。 これを128バイトごとに改行コードを付加できるようなソフトはないでしょうか? ファイル分割ではなく、レコードの分割ができる物を探しています。 よろしくお願いします。