■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#458-0テキストデータのインポートについてひで坊2001-08-07(火) 09:35
     #460-0RE#458:テキストデータのインポートについてひろ♪2001-08-07(火) 09:41
     #461-0RE#460:テキストデータのインポートについて匿名4612001-08-07(火) 10:55
     #462-0RE#461:テキストデータのインポートについてひろ♪2001-08-07(火) 11:58
     #464-0RE#462:テキストデータのインポートについてひで坊2001-08-07(火) 12:56
     #467-0RE#464:テキストデータのインポートについてひろ♪2001-08-07(火) 13:19
     #469-0RE#467:テキストデータのインポートについてひで坊2001-08-07(火) 14:11
     #470-0RE#469:テキストデータのインポートについてふるふる2001-08-07(火) 14:46
#458-0
テキストデータのインポートについて
早速本題。
ADOXでアクセスのテーブルを作成し、
そこにテキストデータ(ヘッダーレコードなし、
バイナリデータ1レコード700バイトくらい)を
インポートさせたいのです。
ADDNEWを使いやっておりましたが、
データ件数が50万件ほどあるので、時間がかかりすぎてしまいます。
もっと効率よく処理できる方法などがあれば教えてください。
#460-0
RE#458:テキストデータのインポートについて
> 早速本題。
> ADOXでアクセスのテーブルを作成し、
> そこにテキストデータ(ヘッダーレコードなし、
> バイナリデータ1レコード700バイトくらい)を
> インポートさせたいのです。
> ADDNEWを使いやっておりましたが、
> データ件数が50万件ほどあるので、時間がかかりすぎてしまいます。
> もっと効率よく処理できる方法などがあれば教えてください。
テキストデータのフォーマット(固定長、カンマ区切り)が決まってれば
DoCmdオブジェクトのTransferTextメソッドを使えます。
こっちのが効率ははるかにいいのではないかと・・・
#461-0
RE#460:テキストデータのインポートについて
> > 早速本題。
> > ADOXでアクセスのテーブルを作成し、
> > そこにテキストデータ(ヘッダーレコードなし、
> > バイナリデータ1レコード700バイトくらい)を
> > インポートさせたいのです。
> > ADDNEWを使いやっておりましたが、
> > データ件数が50万件ほどあるので、時間がかかりすぎてしまいます。
> > もっと効率よく処理できる方法などがあれば教えてください。
> テキストデータのフォーマット(固定長、カンマ区切り)が決まってれば
> DoCmdオブジェクトのTransferTextメソッドを使えます。
> こっちのが効率ははるかにいいのではないかと・・・
一応、その手も考えたのですが、
VBからDoCmdオブジェクトのTransferTextメソッドの使い方及び、
フォーマット定義情報の設定の仕方がわかりませんでした。
プログラムで自動でやらせたいので・・・。
#462-0
RE#461:テキストデータのインポートについて
> 一応、その手も考えたのですが、
> VBからDoCmdオブジェクトのTransferTextメソッドの使い方及び、
> フォーマット定義情報の設定の仕方がわかりませんでした。
> プログラムで自動でやらせたいので・・・。
VBの参照設定で
Microsoft Access ?.0 Object Libraryにチェックをつけます。
(?はインストールされてるAccessのバージョンによって異なります)
そうするとVB内でDoCmd型の変数を宣言することが可能になるので、
これで出来ると思います

#464-0
RE#462:テキストデータのインポートについて
> > 一応、その手も考えたのですが、
> VBの参照設定で
> Microsoft Access ?.0 Object Libraryにチェックをつけます。
> (?はインストールされてるAccessのバージョンによって異なります)
> そうするとVB内でDoCmd型の変数を宣言することが可能になるので、
> これで出来ると思います
> 
もう少し教えてください。
そのMicrosoft Access ?.0 Object LibraryはAccessがセットアップされていない
環境では使えませんか。例えば、Visual Studioのディストリビューション
ウィザードを使いセットアップイメージを作成し、Accessの環境がないPCで
セットアップして使用をしたい場合など・・・。
もう一つ。
インポートのフォーマット定義をプログラムから作成する方法を教えてください。
#467-0
RE#464:テキストデータのインポートについて
> もう少し教えてください。

> そのMicrosoft Access ?.0 Object LibraryはAccessがセットアップされていない
> 環境では使えませんか。例えば、Visual Studioのディストリビューション
> ウィザードを使いセットアップイメージを作成し、Accessの環境がないPCで
> セットアップして使用をしたい場合など・・・。
ウィザードの途中で、必要なライブラリファイルを追加してくれるはずです
追加してくれない場合は手動で追加する必要がありますが、
Accessのランタイムライブラリならたぶん自動でウィザードが認識してくれると思います。
そんなわけで、ディストリビューションを使ってセットアップファイルを作れば問題ないです。

> インポートのフォーマット定義をプログラムから作成する方法を教えてください。
すみません、プログラムからの作成方法はちょっとわかんないです・・・
ただ取り込むファイルの形式が決まっていればあらかじめAccessの方に
その情報を保存しておくことは出来ます。
ただし、そのためには一度「Access上でテキストファイルを取り込む」という
動作をしないとなりませんが・・・
その過程で確か「形式を保存する」というのが出来るはずです
#469-0
RE#467:テキストデータのインポートについて
いろいろと、お手数をおかけしました。
ありがとうございました。
#470-0
RE#469:テキストデータのインポートについて
> いろいろと、お手数をおかけしました。
> ありがとうございました。

インポート定義の方は解決したのかな?
ACCESSのシステムテーブルへレコード追加をしてあげればできるようですけど。
(MSysIMEXColumnsとMSysIMEXSpecs)

あと、
>Accessのランタイムライブラリならたぶん自動でウィザードが認識してくれると思います。
>そんなわけで、ディストリビューションを使ってセットアップファイルを作れば問題ないです。
アクセスランタイムの配布権があればでしょう。大丈夫?

#私はソフトのインストール先の環境を確かめて、アクセスがないようだと、どうするか
確認しますけど。

このページと関連する記事:
#398-1ADOでEOFの場合の新規レコード追加2004-04-01(木) 15:02
#488-0はじめまして2001-08-09(木) 22:21
#33241-0RE#33172:ディストリビューション ウィザードについて2000-11-10(金) 08:19
#326-0Access2000においてのインポート制限2001-10-22(月) 17:01
#326-1Access2000においてのインポート制限2001-10-22(月) 08:01
#1743-1DataReportについて2002-07-16(火) 07:45
#6139-0テキストデータをインポートする時の改行コードの扱い方1999-09-29(水) 08:52
#81-0オートナンバーはどうするの2001-06-02(土) 10:53
#8528-0ファイルタイプ2000-06-03(土) 12:05
#41820-0効率のいいテキスト→DBの方法2001-04-17(火) 11:07
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)