Access2000(Windows)でBtrieveデータベースからODBCをつかって、

DoCmd.TransferDatabase acImport, "ODBC", "ODBC;DSN=Btrieve", acTable,
"BtrieveTable名", "AccessTable名", False

で、インポートすると1つのテーブルだけでレコード数が135,000程度、ファイルサイズが30MB程度(最適化直後)になってしまいます。時間も(マシンやネットワークの環境によりますが)10分近くかかってしまいます。
実際このテーブルの中で必要なレコード数は500程度なので、まるまるインポートし
ないで必要なだけにして、時間とファイルサイズを稼ぎたいのですが、何か方法があるのでしょうか?

いったんリンクしてから SELECT INTO や INSERT INTO すれば10秒もかからないでできます。
しかし、BtrieveTable名が毎月変わっていくので、お手上げ状態になり、上の方法を思いついたのです。
もしもこんな条件でリンクの設定ができればベストなのですが、ODBCソフトがメラント社のDatadirectというものでVBAからの設定が可能なのかどうかもわかりません。

よろしくご教授願います。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

下の回答を書いた者です。


下記の通り、「メラント社のDatadirect」については
分からないんですが、、、

ホームページやドキュメント類はご覧になりましたでしょうか?
ホームページでは手動でリンクを張る方法を説明していましたが
「データの更新を行う時には」メッセージが出るようです。
(リンクテーブルを削除してみても無理ですかね?)

出さなくする方法もあるような気がするんですが、知識も
検証環境も無いですし、これ以上の技術的コメントは
私からは、、、中途半端ですみません。

参考URL:http://www.merant.co.jp/datadirect/technote/odbc …
    • good
    • 0

DoCmd.TransferDatabase acImport,,,(省略)


の「acImport」を「acLink」にしてリンクをはり、その後で
SELECTやINSERTをすれば良いのでは?

「メラント社のDatadirect」については分かりません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
早速試してみました。
ご指導いただいた方法では、LINKが作成される前にDataDirectの"固有レコード識別子の選択"ボックスが表示されて、一旦停止してしまいます。
ここでOKをクリックすればLINKが作成されるのですが、それはそれで仕方がないのでしょうか?

お礼日時:2002/02/15 14:43

このQ&Aに関連する人気のQ&A

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

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q趣味 VS ホビー、どう理解したらいいのですか?

最近気づいたのですが、このQ&Aサイトのカテゴリーには
【趣味】があり、その内訳に[ホビー]、[その他(趣味)] が
同列にあり、更に[ホビー]の内訳の中には{その他(ホビー)}
というのもあります。

[ホビー]は【趣味】の中に入る、というのは確かのようですが、
趣味とホビー、何か違いがあるのでしょうか。


【趣 味】
- ・・・・・・・・
- ・・・・・・・・
- ・・・・・・・・
- [ホビー]
ーーー - ・・・・・・・・
ーーー - ・・・・・・・・
ーーー - ・・・・・・・・
ーーー - {その他(ホビー)}

- [その他(趣味)]
   

Aベストアンサー

こんばんは。

面白い質問ですね。
なるほどと思い私も考えてしまいました。

読書、音楽、絵画鑑賞・・・これらはいずれも趣味でしょうね。
中に趣味の域を超えて専門的な知識、技術を必要とする
趣味もあります・・・。
私はこれらを「ホビー」と言うのかなと思います。

模型に限らず「ホビー・ショップ」があるのはそのためでしょう。

QaccessのマクロでODBC接続で外部データをインポートしたいのですが

accessのマクロでODBC接続で外部データを自動でインポートしたいのですがうまくいきません。「ファイルから外部データの取込みでインポート→ファイルの種類でODBC DATABASES()を選択し、コンピュータデータソース指定→テーブルを指定」ではできたのですが、マクロで以下のように設定したのですがうまくいきません。
アクション・・データベース変換
変換の種類・・インポート
データベースの種類・・ODBC データベース
データベース名
ODBC;DSN=ACSKNSM1DS;APP=Microsoft® Access;WSID=JYOHO08;DATABASE=ACSKNSM1;Trusted_Connection=Yes;TABLE=dbo.tbl_bank
オブジェクトの種類・・テーブル
オブジェクト名・・dbo_tbl_bank
変換先名・・銀行T
テーブルの構造のみ変換・・いいえ

※銀行Tのテーブルはアクセスのテーブルを作成しました。

どうか宜しくお願い致します。

Aベストアンサー

先にODBCレベルでテストしてみてください。
拡張子表示できる設定で始めてください。

1.デスクトップで右クリックし、新規作成をクリック。
2.新規テキストドキュメントを選択。
3.名前を<任意>.udlとする。
4.拡張子変更の確認があるが強行する。
5.アイコンが「表とPC」みないに変わるので起動。
6.認識なさっている条件で接続テストを行う。

この段階でうまく行かなければODBCパラメータ記述のどこかがおかしい。
これでうまく行くならACCESSのAP部分がおかしい。

値を見直しながら再試行ください。


リンクテーブルをローカルのテーブルにするなら、リンクテーブルを参照するクエリを作成し、SQLビューに切り替え、[from <リンクテーブル名>]の直前に「into <ローカルテーブル名>」としてもインポートは実現できます。

Q電撃ホビーとホビージャパン

電撃ホビーとホビージャパン、
それぞれの特徴を教えていただけないでしょうか?

どちらかに絞って買いたいのですが、ざっと立ち読みをしただけでは
違いがちょっと分からないので…。

詳しい方のアドバイスお待ちしております。

Aベストアンサー

ガンプラを中心に超合金やスパロボ、ゾイドなどの情報があるのが電撃ホビーマガジン、やはりガンプラ中心ではありますが、その時のトレンドで特集が変わる、また模型メーカーや模型店の広告が多いのがホビージャパンってところですね。
タマにガンプラで特集がかぶるときがありますが、作例の出来では若干ホビージャパンに軍配が上がるかも。

またこれはかなり主観が入りますが、読後の印象が電撃ホビーマガジンの方がうすいように感じました。
その分オマケで勝負している感もありますが。

Q大きなテーブルに対する問い合わせのODBC--呼び出しは失敗しました。」(Error.Number 3146)

NT4.0 SQL 6.5 に 展開している
約240フィールド、20万件のテーブルに対して
ACCESS97や2000で単純なクエリーを実行した場合でも
「ODBC--呼び出しは失敗しました。」(Error.Number 3146)
が発生しています。

 DBの存在するパソコンのスペックはCEL-666MHz MEM:320MB
ネットワークを介さずODBCリンクで自身からACCESSでクエリ
ーを実行しても同様です。
 DBの設定に問題があるのか、SQL6.5の限界なのかどちらでし
ょうか。

 また、このテーブルに対するデータのインポート作業でも同
様の現象が発生する為、データ分割をして行いました。
 
 有効なインポート手段などもあれば紹介願います。

Aベストアンサー

こんにちは。
ODBCタイムアウトが発生してる可能性はありませんか?
実際にどんなクエリーなのかわかりませんが、20万件を対象とした
クエリーならばかなり時間がかかると思います。
Access97でクエリーを作成した場合、デフォルトのタイムアウトは
60秒に設定されていたと思いますので、それ以上反応が無い時に
タイムアウトが発生します。
クエリーのプロパティのODBCタイムアウト設定値を確認してみては
いかがですか?

Q模型屋とホビーショップの違い

タウンページを見ると模型屋とホビーショップは分けられるのですが、この二つの店の違いってあるのでしょうか?
模型屋=ホビーショップだと思っていたのですが、どうやら違うような気がして・・・

Aベストアンサー

模型屋さんは模型(プラモデルや鉄道模型、ラジコン)のキットや塗料、工具類のお店で軸足を模型に置いている(と店主が考えている)お店

ホビーショップは模型屋さんに有るもの以外にもカード類、ファンシーグッズ、ミニカー類、ガシャポン類各種フィギュア類などのコレクション製の高いおもちゃを総合的に扱っている(と店主が考える)お店

なのではないでしょうか???

もちろん、模型関係だけではあまり売り上げがあるはずも無く、幅広い商品を置いている模型屋さんもありますし、そこいらの模型屋さんよりも模型類の品揃えのいいホビーショップもざらですけどね

Q構造が同じ別テーブルInsert Into する場合

追加クエリをVBA上のSQLで作成しています。

A.MDBとB.MDBに同名のTable_Aがあり、フィールドも同じです。。

これを重複をチェックするためにField_Aでジョインさせていますが、
テーブル名もフィールド名も同じなために区別ができません。

どのようにして区別するとよいのでしょうか?

Aベストアンサー

#1です。リンクを張って

INSERT INTO Table_A1
SELECT Table_A.*
FROM Table_A LEFT JOIN Table_A1 ON [Table_A].[ID]=[Table_A1].[ID]
WHERE ((([Table_A1].[ID]) Is Null));

みたいなSQL文でいかがでしょう

QNECの「スマートホビー」での画像取り込みについて

NECパソコンにプリインストールる画像編集ソフト「スマートホビー」についての質問です。デジカメで使用しているメモリーカード(SDカードなど)からスマートホビーのソフトでPC内に画像を取り込んだ場合には、元々のカード内のデータ(画像)はカードに残っているのでしょうか?(画像のコピーになるのか、或いは移動になるのかという質問です) 知人からの相談のため、申しわけありませんが、今現在スマートホビーのヴァージョン等は分かりません。宜しくお願いします。

Aベストアンサー

画像はメモリーの中に残っていますので、PCに取り込んだ後でもカメラで見る事が出来ます。

只取り込み済みの画像は以降スマートホビーで取り込んでもその後撮影
分のみがPCに取り込まれます。

もう一度全部取り込みたい時はスマーホビーでなくマイコンピューターからカメラのフォルダーを開いて
そこから通常のコピー、貼り付けで取り出せます。

QACCESS2002、レコードのインポートができません!

初心者です、よろしくお願いします。
■ 仕様環境
WinXP
Access2002

アクセス2002で顧客管理システムを作ってます。
アクセスAのテーブルにアクセスBのテーブルをインポートする時、
レコードだけインポートできないのでしょうか?
どうしても違うテーブルが作られてしまいます。

例えば・・
アクセスAに「住所」という項目があり、そこには既にレコードが
何件か入っているのですが、そこにアクセスBの「住所」のレコードを追加したいのですが、
うまくいきません。そういう機能はついていないのでしょうか?

また、アクセスBの情報をエクセルファイルに変えて「次のテーブルに保存する」で
インポートしたのですが、最後の「完了」ボタンを押すと「エラーが発生し、
インポートできませんでした」という表示がでてインポートできません。

同じように電話番号や名前、メールアドレス等もアクセスAに追加したいのですが、
一つ解決しないと先に進まない気がするのでとりあえず住所だけにしぼってみました。

データを”追加”するような感じでしたいのです!
誰かお知恵を貸してください!

初心者です、よろしくお願いします。
■ 仕様環境
WinXP
Access2002

アクセス2002で顧客管理システムを作ってます。
アクセスAのテーブルにアクセスBのテーブルをインポートする時、
レコードだけインポートできないのでしょうか?
どうしても違うテーブルが作られてしまいます。

例えば・・
アクセスAに「住所」という項目があり、そこには既にレコードが
何件か入っているのですが、そこにアクセスBの「住所」のレコードを追加したいのですが、
うまくいきません。そういう機能はついていないので...続きを読む

Aベストアンサー

>レコードだけインポートできないのでしょうか
できません。レコードはテーブルと言う器に入っているものです。
データベース画面でもオブジェクト欄に"テーブル"、"クエリ"、…と
ありますが、"レコード"というのは無いでしょう。

こういう場合はインポートではなく、INSERT文を使います。
アクセスA側でクエリを作成し、SQLビューで直にSQLを記述します。
INSERT INTO 住所 SELECT * FROM 住所 IN 'C:\~\アクセスB.mdb'
INの中はアクセスBのパスです。このようにすれば、テーブルを
リンクしなくてもインサートできます。

QNECのPCで、USBを差し込むとスマートホビーが

USBを差し込むと、スマートホビーがたちあがってきます。
以前は、そういうことがなく、USBをさしこんでも、普通にファイルが開くようになっていたのですが。。。
このスマートホビーが立ち上がってこない方法をおしえていただけませんか。

Aベストアンサー

スマートホビーの設定を変更して下さい。

http://121ware.com/qasearch/1007/app/answerinfo_main.jsp?006713
1.SmartHobby 2.0 の設定を変更する
【操作手順】4
を参考に「OS標準の設定に戻す」にして下さい。

QFileMaker Pro 同一レコード以外のインポート

お世話になっております。

filemakerは今までpro5を使用し、
現在、pro10への移行作業中です。

filemakerで一つの大本のファイル(ファイルA)に
いくつかのフィールドを組み合わせて照合フィールドを
作成しました。

ファイルBには他のデーターベースからデータを取り入れた、
ファイルAと同じファイルBがあります。

その照合フィールドで照合させ、
同一ファイルはインポートせず、
新規のレコードだけをインポートするにはどのような
方法がありますか?

なんとかご教授してください。

Aベストアンサー

一番簡単なのは、下記のような形かと思います。

ファイルAとファイルBとを、差分がわかるようなんらかのキーでリレーションします。そして次のようなスクリプトを組みます。

1) Aから「関連レコードへ移動」でレコードを絞り込んでBに移動
2) Bで対象外レコードを表示させる
3) Aに戻ってBをインポート実行

リレーションに使えるキーがない場合は、計算フィールドで作りましょう。

参考URL:http://www.filemaker.co.jp/help/html/scripts_ref1.36.20.html


人気Q&Aランキング

おすすめ情報