こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

締切り済みの質問

【Access2010】 数10億円のインポート

txtファイルからAccess2010へ「40億円」をインポートしようとするとエラーになりました。

 ファイル形式: 2002-2003形式(.mdb)
 データ型: 数値型
 フィールドサイズ: 十進型

ネットでいろいろ調べて、フィールドサイズを「倍精度浮動小数点型」してもダメ、データ型を「通貨型」にしてもダメ、お手上げ状態です。
唯一インポートできた方法はデータ型を「テキスト型」にした場合のみでした。

ファイル形式は社内の互換性の問題上2007形式(.accdb)にはできません。
テーブルに直接入力すれば入れることはできますが、毎回そんな面倒な作業はできません。

「数値型」のままインポートする方法はありませんか?

投稿日時 - 2016-12-22 08:03:31

QNo.9271416

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(2)

ANo.2

テキスト型はテキスト型でインポートする必要がありますので、インポート後に別テーブルに追加する形にして、その際に数字に見えるテキストを実際の通貨にすれば良いと思います。インポートするテーブルをImp1、変換後をImp2、Imp1と2の削除クエリをDimp1、Dimp2として、次のようにマクロを作ります。
1、クエリを開く、Dimp1
2、クエリを開く、Dimp2
3、テキストインポート(インポート定義登録)
4、Imp1を使って追加クエリを実行する、追加先はImp2。その時、テキスト数字に×1の式を書く。テキスト数字は、1倍すると実際の数字になります。エクセルでもそうです。そうすると、数字型でも通貨型にもデータ追加ができます。

投稿日時 - 2016-12-22 09:22:12

お礼

ご回答ありがとうございました。

「インポート用テーブルを用意せよ」という意味ですよね?それは実験済です。

本来インポートしたいテーブルのフィールドを画像の通りに設定しておいて、インポート用テーブルから追加クエリーで入れることはできました。
希望としては、本来インポートしたいテーブルへ直接インポートしたかったのですが、無理なんですかねぇ。

余分な手間が増えてしまいますがマクロに入れてしまえば実行するだけですので、この方法で処理します。

投稿日時 - 2016-12-22 12:38:31

ANo.1

ご質問をそのまま信じると、漢字でかつ単位の円がついたままのテキストを数値として読み込むって話ですよね。
無理です。
数値型は数値のみしか入れられません。事前に漢字表記を数値にして、単位を外す必要があります。

投稿日時 - 2016-12-22 09:11:31

お礼

ご回答ありがとうございました。

あいまいな表現で申し訳ありません。正しくは「4000000000」です。

投稿日時 - 2016-12-22 12:38:01

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-