Accessのインポートについて(上書きと追加)

このQ&Aのポイント
  • Access2000を使用しています。あるテーブルにExcelデータをインポートしています。上書き保存と追加の方法を教えてください。
  • AccessのインポートでExcelデータを上書き保存する方法と新規レコードとして追加する方法を教えてください。
  • Access2000でExcelデータをインポートしています。データが重複している場合は上書き保存し、新しいデータは追加したいです。上書きと追加の方法を教えてください。
回答を見る
  • ベストアンサー

Accessのインポートについて(上書きと追加)

Access2000を使用しています。 インポートについて教えて下さい。 あるテーブルにExcelデータをインポートしています。 「あるテーブル」の設定としましては主キーを設定して いて重複なしにしています。 実現したいこととしましては、Excelデータ上にAccessデータ(すでにあるデータ(主キー))があれば上書き保存して、なければ追加したいのです。 Access側        | Excel側 主キー フィールド1  |  列1  列2    A     ○      |   B   ○ B     ×      |   D   × C     ○      |   E   ×   つまり上記の表でAccess側Bデータのフィールド1の「×」 をExcelデータをインポートすることにより「○」に 変更(上書き保存)したいのです。 そして、Excel側D・EデータはAccessに新規レコードと して追加したいのです。 よい方法はないでしょうか? なお、私の知っている知識としましては、 インポートするとデータは上書き保存されずに 追加されてしまうということは知っているのですが。 以上、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • vantage
  • ベストアンサー率60% (310/514)
回答No.1

Excel からのデータを、いったんワークテーブルに格納してしまえば良いのではないでしょうか? その後の処理はいろんなパターンで出来ると思いますが、たとえば、 (1) Excelからワークにデータをインポート (2) キー項目が、元データに有ってワークに無いデータをクエリーで抽出(例だとAとC) (3) (2)のデータをワークテーブルに追加 (4) 元データをクリアして、ワークテーブルのデータを元データテーブルに移動 とかです。 あとは、(5) ワークテーブルのデータをクリア というのをどこかで(この処理の最初でも良い)やっておくことですね。

関連するQ&A

  • Accessのテーブルへのデータインポートについて

    Accessのテーブルへのデータインポートについて Access2002で、A.mdbのTESTテーブルからB.mdbのTESTテーブル(構造は同じ)へテーブルデータをインポートしたいのです。 TESTテーブルの主キーはSEQ(オートナンバー)しかありません。 そのときに、コピー元とコピー先の主キーに重複があった場合、オートナンバーなので自動で再付番しデータが追加して欲しかったのですが、 Accessの機能のエクスポート、インポートでは、コピー先に主キーに重複があったデータは上書きされてしまいます。 テーブルを開き、データをコピー&ペーストしますと、ペーストしたときにオートナンバーで自動で再付番されます。 この方法でもいいのですが、データが数百万件あるので、現実的ではありません。 Accessのインポート・エクスポートで、オートナンバーで主キーを再付番してから、B.mdbのTESTテーブルにデータ追加する方法はないでしょうか? よろしくお願いいたします。

  • Access(アクセス)でのインポートについて

    テーブルのインポートでエクセルファイルをインポートしたいのですが「ワークシートインポートウィザード」の画面でテーブルを指定して保存すると 「Microsoft Access」の画面で「すべてのデータをテーブルに追加できませんでした。 キー違反のため、0件のレコードのデータが失われ、0件のレコードが削除されました。」と出てきて、保存できません。 もとのテーブルのデータ型を使ってインポートするにはどうしたらいいのでしょうか。よろしくお願いします。 インポートする元のデータ(エクセル)とインポート先(アクセス)の関係は次の通りです。 エクセルファイル    アクセスのテーブル (セルの書式設定)   データ型、フィールドサイズ --------------------------------------------- 数値          数値型、長整数型 文字列         テキスト型、16 インポートする前に元のエクセルデータをアクセスのデータ型に合わせただけではダメなのでしょうか

  • AccessへExcelのデータをインポート

    Access2003にExcel2003のデータをインポートしたのですが(成功)、インポートしたテーブルを見てみると主キー順に上から順に並んでいません。(主キーは0から始まり100で終わるものです。←点数です) これを主キー順に並べ替えようと思い、並べ替えボタンで並べ替えてみたのですが、0、1、10、100、11、12、13、14、15、16、17、18、19、2、20・・のような順で並んでしまいます。 これはどうしようもないのでしょうか? もし得点順に並べ替えたかったら主キーを別に作らないとだめですか? 教えてください。お願いします。

  • エクセルのデータをアクセスのテーブルにインポート

    エクセルのデータをアクセスのテーブルにインポートしたくて、 アクセスから外部データのインポートでエクセルを指定してるのですが ************************************************************************ ワークシート インポートウィザード インデックス、主キー、またはリレーションシップで重複する値が生成されてるため、 テーブルを変更できませんでした。 重複する値のあるフィールドの値を変更するか、インデックスを削除してください。または重複する値を使用できるように再定義してください。 ************************************************************************ になってしまいます。 エクセルの列名を見ても重複していないし(COUNTIF関数で確認しました) アクセス側のウィザードでインデックスはどこのフィールドにもつけてないし、 「主キーを設定しない」もしくは「主キーを自動的に設定する」にしているのに、何をやっても上記のエラーがでます。 ググっても同じようなエラー内容が見つからないのですが、どうしたらいいでしょう? ヴァージョンはエクセルは2007、アクセスは2010です。バージョンの相違が原因でしょうか?

  • AccessにExcelを追加でインポートできない

    Access97でExcelシートを新規テーブルにインポートしました。 1回目はうまく行くのですが、作成されたテーブルに 再度同じExcelをインポートすると 「ファイル~をインポートするときにエラーが発生しました。ファイルはインポートされませんでした。」 となります。 色々なデータで試しましたがOSは98でもXPでも同じでした。 もちろんテキストデータで保存してからインポートするのは問題ありません。 過去に同様の質問があるはずだと思ったのですが 探すことができませんでした。 みなさんのは出来ますか?

  • アクセス エクセルのデータインポート

    アクセス超初心者です。現在2003を使用してエクセルからデータをインポートしようとしていますが、エラー回避のため、エクセルのフィールド名とアクセスのフィールド名は同じにするとテキストにありますした。アクセスのフィールドに主キーを設定するためNOフィールドがあります。コレはエクセルにはないフィールドなのですが、データインポート時にエラーになりませんでした。初心者なのでどうして??という疑問がわきます。どうしてなのでしょうか?主キー設定のフィールドは無視されるのですか?よろしくお願いします。

  • Accessへのインポートについて

     Excelで作成したリストを、Accessのテーブルへ追加インポートした時、インポートはできるのですが、主キー(フィールド名はID、オートナンバーに設定)の数値がとんでしまって、大きな数値が入力されてしまいます。  ExcelのIDのセルには空白にしてあります。  そこで疑問なのは、うまくいく時といかない時があることです。  たとえば一つのリストをインポートしたら1~100までちゃんと連番で入るのに、次のリストをインポートしたら、100000~という風になります。  これは何が問題なのでしょうか。同じように設定・作業をしているのですが・・・。  よろしくお願いします。

  • access インポート時、既にあるデータは上書き

    accessで、データをインポートする時に、すでにあるデータは、上書きしたいです。 (既にあるIDの場合上書き、ないIDの場合追加されるようにする。) そこで、検索すると、「更新クエリと追加クエリ」で出来ることがわかりました。 参考にしたページのアドレス http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1224631687 ここからが質問なのですが、 さらに、上書きするデータ(すでにあるデータ)は、バックアップとして別テーブルを作って そこに更新前のデータをためていきたいのですが、どうすればいいでしょうか? よろしくお願いします。

  • ExcelのデータをコピーでACCESSに貼り付けできない(ACCESS2007)

    ACCESS2007、EXCEL2007を使ってます。 ACCESSで作成したテーブルにデータを格納するときに、 Excelで作成したものを必要な部分のみコピーして ACCESSに貼り付けたいのですが、うまくいきません。 フィールドの個数やデータ型は合っています。 手順は、 Excel側でACCESSのフィールドと同じ個数の列だけ選択して、コピー。 ACCESS側でテーブルの左端の*印を選択して右クリックの「貼り付け」。 ACCESS2000とかでは普通にできていたのですが、 できなくなったのでしょうか? ウィザードを使うのは結構面倒なので、この方法がいいのですが、やり方がおかしいでしょうか? ちなみに、ウィザードを使ってみたのですが、この場合もExcel側でフィールド名が一致していないとインポートできなかったのですが、そうなのでしょうか?

  • アクセスのインポートの仕方

    Windows2000/ACCESS2000を使用してます。 いつもお世話になってます。 ロータス1.2.3でエクセルに落としたデーターをアクセスにインポートさせたいのですが、うまく出来ません。 この度、アクセスで新しくデーターベースを作って、今までのデーターの移行をしたいのですが、エクセルのデーターをアクセスへインポートするやり方だと先頭行をフィールド名にしないと保存先のテーブルを選べませんでした。 先頭行のフィールド名を使わずに、データーだけを新しく作ったアクセスのテーブルに入れるにはどうしたら良いのでしょうか? 宜しくお願いします。