• 締切済み

アクセス追加クエリ、大量のデータの結合の仕方

教えてください。 300個ほどのエクセルファイルを一つのファイルにまとめたいのですが、何か方法はありますでしょうか。データの項目・並び順は全ファイル一緒です。 アクセスの追加クエリで作業しようと思いましたが、エクセルファイルが300個ほどあり追加クエリを作るのも手間がかかり過ぎてしまいます。 どうぞよろしくお願いします。

みんなの回答

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.3

やったことないですが、次のようにDoCmd.TransferSpreadsheet 分を300行を事項する DoCmd.SetWarnings warningson DoCmd.DeleteObject [objecttype][, objectname] DoCmd.TransferSpreadsheet [transfertype][, spreadsheettype], tablename,filename[, hasfieldnames][, range] 09.SetWarnings メソッド 【書式】DoCmd.SetWarnings warningson  システム メッセージのオン/オフを切り替えます。Visual Basic でシステム メッセージの表示をオフにした後は、オンに戻しておく必要があります。 17.DeleteObject メソッド 【書式】DoCmd.DeleteObject [objecttype][, objectname]  指定したオブジェクトを削除します。引数 objecttype および objectname を指定しないと、objecttype には定数 acDefault (既定値) が使われ、データベース ウィンドウで選択されたオブジェクトが削除されます。データベースウィンドウでオブジェクトを選択するには、引数 In Database Window に Yes True)を設定した SelectObject メソッドを使うことができます.。23.TransferSpreadsheet メソッド 【書式】DoCmd.TransferSpreadsheet [transfertype][, spreadsheettype], tablename,      filename[, hasfieldnames][, range]  カレント データベース とワークシート ファイルとの間でデータをインポートまたはエクスポートします …

参考URL:
http://www.geocities.jp/cbc_vbnet/kisuhen/docmd.html
  • naoto0216
  • ベストアンサー率46% (183/391)
回答No.2

#1です。 単純に300個のExcelを結合するのであれば、最後のAccess インポートは不要でしたね。 total.csvで不要な見出しを削除し、Excel形式で保存すれば完了です。

  • naoto0216
  • ベストアンサー率46% (183/391)
回答No.1

わたしだったら・・・ 1.ExcelをCSVファイルに変換するツールで、一括でCSVファイルに変換。 2.フォルダを作成し、そこに300個のCSVファイルを保存。 3.フォルダの中にバッチファイルを作成。  バッチの中身は、「copy *.csv total.csv」  ↑これを実行することでフォルダ内のCSVファイルが1つの  CSVファイルに結合されます。ファイル名は、total.csv 4.恐らくそれぞれのCSVファイルには見出しがあると思うので、  total.csvをExcelで開き、フィルタで不要な見出し(299行)を  抽出して削除。 5.total.csvをAccessにインポート。

関連するQ&A

  • Accessの追加クエリで疑問点があり、質問します。

    Accessの追加クエリで疑問点があり、質問します。 フォームにボタンを作り、それをクリックすると、追加クエリを動かす前に、対象のテーブル内を削除クエリで空にしてから、追加クエリを動かし、その後追加先のテーブルをテキストファイルへとエクスポートしています。 この作業の追加クエリでテーブルへデータを追加する際は、追加クエリで設定しているデータの並び替えは反映しないのでしょうか? テーブルはデータを入れておく器にすぎなので、いくら並びを指定してテーブルへデータを順番通りに追加していっても、テーブル内はその順番通りに保存されるとは限らないと聞いた事があります。 そこで、最終的にテキストファイルへエクスポートする場合は、追加クエリをやめて、選択クエリに変更し、これをテキストファイルへエクスポートした方が安全でしょうか?または、追加クエリで並びを指定しておけば、追加クエリで追加したデータはテーブルに追加された際は、追加クエリで指定したデータの並び順になるものなのでしょうか? ご教授よろしくお願いします。

  • Access2000の追加クエリについて教えてください

    元Excelのデータをインポートして、Accessのテーブルデータに追加クエリで追加するとき、型変換エラーとなります。 このときテーブルのデザインで一つずつ数値型とテキスト型をあわせています。ただフィールド数が多いとかなり不便です。 何かよい方法はありますか?

  • アクセスの追加クエリで教えてください。

    非連結のフォームから、追加クエリを使ってテーブルにデータを追加したいのですが、 どうもうまくいきません。 具体的には、 履歴フォーム、というフォームで、 日付 施設名 内容 という項目があります。 追加クエリで、 [Forms]![履歴フォーム]![日付] のようにほかの項目も入力し、 その保存先は、 履歴テーブル、で、 項目は、履歴フォームと同じです。 履歴フォームにデータがまったく入っていない状態ですと、 追加クエリを実行した際、 0件のデータを追加します。となります。 自分でテーブルに直接データを何か入力すると、 次に追加クエリを実行した際、 1件のデータを追加します。となります。 続いて追加クエリ実行の際には2件、 その次は4件追加と、 テーブルに入っているデータの件数だけ、 そのときにフォームに入力されている情報が、追加されてしまいます。 どのような原因が考えられますでしょうか? お知恵を貸していただけたらと思います。 情報が不十分でしたらご指摘願います。 補足いたしますので。 それでは、よろしくお願いいたします。

  • アクセスのデータベースにほかのデータを追加する方法

    データの入っていない空白の部分があるアクセスのデータベースがあるんですが、そこにほかのエクセルのデータを簡単に追加する方法はないでしょうか。データがかなり多く手作業やコピペではきついので方法を考えています。(挿入する項目は毎回同じ、エクセルをimportして新しいのを作るのではなくてあくまで既存のデータベースに追記)

  • アクセスの追加クエリで、

    アクセスの追加クエリで、テーブルにデータを追加したいのですが、追加するデータと追加されるデータを照らし合わせて、完全に一致しない物だけを追加するにはどうしたら良いですか? 6フィールドあり、全てが一致するデータはありませんが、5フィールドだと一致してしまう物があります。 誰か教えて下さい。よろしくお願いします。

  • accessのクエリの結果に列を追加したい

    accessのクエリで抽出したデータを、宅急便のソフトにインポートしたいと考えています。 宅急便のソフトのフォームには、アクセスのクエリに無い列(項目)があります。 クエリの結果に、定型の列を追加することは可能でしょうか? よろしくお願いします。 【クエリの結果】 お客様名 住所 電話番号 【希望のクエリ】 お客様名 住所 電話番号 宅急便の種類←(この部分をクエリに追加したい。この部分のデータは常に0を表示) クエリは、テーブルにある項目しか表示できないのでしょうか?

  • accessで null値のあるデータを追加したい

    もとエクセルのデータで、フィールドにnullのところがあるデータをアクセスに追加したいのですが、 エクセルをアクセスにインポートはできるんですが、 それを追加しようとすると、 追加クエリでエラーが出ます。 どうすればいいのでしょうか? そのフィールドはインデックスはつけてません。 空文字列を はい にしてもだめでした。 access2000 windows2000

  • 追加クエリの遅さを解消したいです。

    外部データベースのデータをAccessのテーブルとして取り込んでから、作業するシステムを作成しています。 日々新規のデータが追加されていく外部データベースの、新規データのみを追加していく追加クエリを作成したのですが、とにかく遅いのです! データは6万件ほどあります。けれど、新規に追加したいデータは、日々30件ほどです。 この遅さを解消する方法はありませんか? 良いアドバイスがありましたら教えて下さい。

  • Accessでデータ追加のクエリについて

    「コードNO」(13桁数値)「開始日付」(yyyymmdd形式の数値)「変更日付」(yyyymmdd形式の数値)「終了日付」(yyyymmdd形式の数値)の4つのデータから成るCSVファイルがありまして、そこに毎月同形式の追加のファイルが発生するのです。開始日付はそれぞれで、変更日付・終了日付は初期値が「99991231」です。新規のコードNoについては追加して、重複するものは上書きしていきたいのです。 私はAccess2000を使ってやってみました。テーブルデータにして追加クエリで追加した後、選択クエリでグループ化を使い、「コードNo」をグループ化、「開始日付」はずっと変わらないので取りあえず「最小」、終了は1度しか変わらないのでやはり「最小」、問題は「変更日付」です。度々変わって行くので初期値を除く最大、又は上位2番目の数値というようにしたいのです。そんな設定の仕方が可能でしょうか? まったく別のやり方でも、Accessでなくても(EXCELなら97)良いのでアドバイスをお待ちしてます。

  • Accessのテーブルにエクセルのセル単位データを追加貼りつけする

    いつも大変お世話になっております。m(_ _)m Accessのテーブルにエクセルからデータを貼り付けたいのですが、 Accessのフィールド 日付/型番/数量 Excelのフィールド 型番/数量 で、Excel側のデータは200件ずつくらいファイル単位でデータが存在します。 現在10ファイルくらいあるのですが、これは今後も増えていきます。 Excelで存在する月単位のデータをAccessの1テーブルにまとめていきたいのですが、 最初のデータはExcelからAccessへ問題なく貼りつけできるのですが、次のExcelファイルをAccessへ追加貼りつけしようとするとうまくいきません。 やりたいことは、Excelの「型番」「数量」のデータを、Accessへ追加貼りつけしていきたいだけなのですが、コピー&貼りつけでできないでしょうか? Excel側のデータに手を入れて、Accessと同じ作りに変更すれば「インポート」で追加されるのですが、できたらその手間をかけずに、Excelの必要箇所を範囲指定し、コピー&貼りつけでAccessのテーブルに持っていけたらと思います。 何か良い方法がありましたら教えてください。 よろしくお願いします。

専門家に質問してみよう