• 締切済み

csvファイルをAccessに取り込むとデータ数が増える

項目をカンマで区切っただけの単純なcsvファイルをAccessでインポートしてテーブルを作成したら、データ数が増えてしまいました。 (csvファイルをテキストで開いたときの行数と、Accessの行数が異なる) 5000件ぐらいなら、csvもAccessもデータ数は同じなのですが、データ数が大きくなると、csvとAccessのテーブルで6万件とかの差分が出てしまいます。 csvファイルとAccessで、データ数を同じにするにはどうしたら良いでしょうか。 参考になるURLでも良いので、教えて頂ければと思います。 よろしくお願いします!

みんなの回答

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.2

アクセスVBAで、行数を確認してみてはいかがでしょうか? (Microsoft Scripting Runtimeの参照を設定する必要があります。) Private Sub コマンド1_Click() Dim x As Long Dim fname As String fname = "C:\temp\test.txt" x = 0 Dim fso As New FileSystemObject Dim ts As TextStream Set ts = fso.OpenTextFile(fname) Do Until ts.AtEndOfStream x = x + 1 ts.ReadLine Loop MsgBox x End Sub

回答No.1

>>(csvファイルをテキストで開いたときの行数と、Accessの行数が異なる) 「テキストで開いたとき」に使用したソフトの最大行数は元のファイルの行数より大きいですか? たとえばEXCELで開くと最大が約6万です。元ファイルが12万件だとすると EXCELのCSVは6万行しか見えずaccessは12万行きっちりみえます。

kokubunta
質問者

お礼

ご回答ありがとうございます! ある程度、元ファイルの行数が増えたときに起きる現象なので、やはり、テキストエディタの限界だったということでしょうか。。 ちなみに、K2エディターを使用しており、表示行数の設定を探してみたのですが、見つかりませんでした。

関連するQ&A

  • AccessでCSVを読み込めない

    CSV形式(カンマ区切り)のファイルがあります。4項目あり、各項目は以下になります。 ID,名前,説明,性別 このCSVをAccess 2003でインポートしたいと思っています。ただ、以下のようなデータが入っていた場合はエラーを起こします。 "001","近藤","性格は,普通","男" といったように、説明にカンマが混じってしまっている時です。これでは正しく読み込めません。 こういった形式のデータをインポートしたい時、何か良い手はないでしょうか?よろしくお願い致します。

  • Access2007へCSVデータなどをインポートしたい

    Access2007において顧客データベースを運用しています。 定期的に他のデータベースから書き出したCSVファイルを この顧客データベースの中にインポートしたいのですが可能ですか? CSVのデータををテーブルとしてインポートすることはできるのですが、 データベースの中身(データ)のみを項目ごとに割り振って流し込みたいのです。 よろしくお願いいたします。

  • Accessの使い道について。

    Accessの使い道で、 <単月だけのデータが毎月CSVで提供されるので、それを一つのテーブルに毎月インポートし蓄積する。> というようなことを考えています。要するに毎月2000件のデータがCSVに入っているなら、一つのテーブルのデータが一ヶ月に2000件ずつ増えていくわけです。私個人で使うのではなく、周囲のパソコンに詳しくない人達に簡単に使ってもらいたいものです。CSVは、カンマで区切られた項目数はかなり多いです。 まずこういう使い方をするなら、インポートを毎回手作業でやるのは大変なので、マクロを組まないと厳しいですよね?というか、CSVが毎月入手できるなら、それをAccessなどに別途インポートしようとする事自体が無駄でしょうか?なぜAccessにインポートしたいかと言えば、特定のコードのデータを複数年月に渡って抽出したいと思うからです。単月分のCSVしかないのではそれが出来ないと思うので。 私はまだAccessについては詳しくないのですが、Excelではマクロなしで相当頑張れても、Accessではマクロを知らないとやれることがすぐ限界に来るという認識でいいですよね?

  • アクセスマクロで、csv データを取り込むときに起こるエラー

    こんにちは、いつも質問ばかりですみません。 WINDOWS2000 で ACCESS 97 ユーザーです。 品番.CSVがあるとします(数千行) 品番は、 100 A100 のように、数字のみやローマ字が入り混じっています。 ACCESS 側に「品番」テーブルを作り、データ型をテキストにします。その上で  ファイル  -外部データの取り込み  -インポート  -次のテーブルに保存する「品番」 でテーブルを指定すると、きちんと入ります。 が、マクロで  テキスト変換  -区切り記号付インポート  -テーブル名「品番」  -ファイル名「品番.CSV」  -フィールド名の設定「はい」 で実行すると、 「品番インポートエラー」テーブルが別に作成され、 A100 を「データ型の変換エラー」と見なしています。 …どうしてでしょう。

  • 【Access2010】CSVインポートについて2

    お世話になります。 現在、表題につきまして以下の質問をさせて頂いておりますが、もう一つ質問させて頂きます。 http://questionbox.jp.msn.com/qa8724865.html インポートしようとしているCSVファイルはカンマ区切りですが、その中のデータにカンマが含まれている場合がございます。 項目1  項目2  項目3 ・・・  1    あ,あ   いい  2    うう    ええ これをカンマ区切りでインポートすると、 項目1  項目2  項目3  フィールド1 ←自動的についたフィールド名  1    あ     あ    いい  2    うう    ええ となってしまいます。 これを回避する方法はございますでしょうか。 ※CSVファイルは変更したくないので、予めCSVから不要なカンマを削除しておく・・というのは無しでお願いします。 ご教授の程、宜しくお願い致します。

  • ACCESSのテーブルをCSVファイルに

    こんにちは。 ACCESSテーブル内のフィールド値をカンマ付きのテキストファイルまたは CSVファイルで出力したいのですがなにか良い方法はないのでしょうか? ちなみにDoCmd.TransferTextだのDoCmd.OutputToを試してみたので すが、うまくいきませんでした。 よろしくお願いします。

  • Access2000のCSVファイルのインポートについて

    Access2000でCSVファイルをインポートしようと思っています。 インポート方法は、VBAで 「DoCmd.TransferText acImportDelim, , "テーブル名", "ファイル名"」を使用しています。 この時に、CSVファイルが次のようなデータです。 F1,F2,F3 0010,0200,0001A12 0011,0201,0021B12 (実際は、1000件近いデータです) これをインポートすると、 F1,F2,F3 10,200,1A12 11,201,21B12 となってしまいます。 頭の「0」を省きたくないのです。 文字列として取り込めないでしょうか? CSVのデータに""を自動でつける方法はないでしょうか? Accessの外部データの取り込みを使うと、文字列として指定できるのですが、VBAを使いワンクリックでデータを取り込もうとしています。 よろしくお願いします。

  • アクセスにとりこむcsvの項目が増えた時は…

    アクセスにcsvファイルよりデータを取り込んでテーブルを作成していますが、そのcsvファイルの最後に項目が5つ増えてしまいました。インポートの定義をして、自動実行でcsvをとりこんでいるのですが、やはり定義とテーブルの構造をかえなければいけないでしょうか?追加された5つの項目は実際には必要のない項目です。はじめcsvの構造が変わったことにきづかずにいつもどおりに自動実行をしてしまいましたが、データの構造などこわれてしまっているのでしょうか?

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

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

  • csvファイルのインポート

    Accessでcsvファイルをインポートさせようとしています。しかし、「F1フィールドがありません」のようなエラー表示が出て、できません。私の予想では、テーブルの型とcsvファイルの型が違うのではないかと思っています。テーブルには、数値型、テキスト型、日付/データ型があります。 保存したcsvファイルをExcelで開くと日付がApr-01や、2001/06/26となったりしていました。どこかで型変換のようなことをするのでしょうか?csvのことはよく分かりません。どうか、よろしくお願いします。