Accessの追加クエリの使い方をお探しですね。
広告
Accessの追加クエリで別テーブルのデータをまとめてコピーする方法
Accessで仕事をしていると、「別のテーブルにあるデータを、メインのテーブルにまとめて入れたい」という場面がよくありますよね。
Excelみたいに手作業でコピー&ペーストを繰り返すこともできますが、データが多いと時間がかかるし、入力ミスも起きやすくなってしまいます。
そんなときに便利なのが、今回紹介する「追加クエリ」という機能です。
この記事では、Accessの追加クエリの基本的な使い方から、別のテーブルから必要なデータだけを選んでコピーする方法、そして失敗しやすいエラーへの対処法まで、わかりやすく説明していきます。
Accessの「追加クエリ」って何?別テーブルからデータをコピーするメリット
追加クエリというのは、あるテーブルから条件に合うデータを取り出して、別の既存テーブルにまとめて追加できる機能のことです。
たとえば、「毎月各支店から送られてくる売上データを、全社の年間売上テーブルに統合したい」なんてときに、とても役立ちます。
手作業でちまちまデータを移す手間が省けて、ワンクリックで正確にデータをまとめられるので、データベース管理がぐっと楽になりますよ。
追加クエリの一番のメリットは、たくさんのデータを一気に処理できることと、実際に追加する前に「どんなデータが追加されるか」をプレビューできることです。
Excelから取り込んだ一時的なテーブルのデータをメインテーブルに移すときなど、大量のデータでもあっという間に処理が終わります。
それに、「この条件に合うデータだけを追加する」といったフィルター設定も簡単にできます。
**追加クエリを使う主なメリット**
– 大量のデータを一度の操作で別テーブルへ正確に追加できる
– 実行前にどんなデータが追加されるか確認できる
– 特定の条件(期間や地域など)に合うデータだけを絞り込んで追加できる
さらに便利なのが、コピー元のテーブルと追加先のテーブルで項目(フィールド)の数が違っていても大丈夫なところ。
名前が同じ項目だけを自動で対応させたり、手動で指定して一部のデータだけをコピーしたりと、柔軟にデータを移せるのも追加クエリならではの強みです。
追加クエリの基本的な使い方と作成の4ステップ
では、実際に別のテーブルからデータをコピーして追加する手順を見ていきましょう。
追加クエリを作るときは、いきなりデータを追加するのではなく、まず「どのデータを追加するのか」を選ぶところから始めるのがポイントです。
一度追加してしまったデータは「元に戻す」ボタンで取り消せないので、作業を始める前には必ずデータベースのバックアップを取っておくことを強くおすすめします。
**追加クエリを作成・実行する4つのステップ**
1. コピー元のテーブルをもとに「選択クエリ」を作る
2. 条件を設定して、クエリの種類を「追加」に変更する
3. 追加先のテーブルと、各項目の対応関係を設定する
4. プレビューで確認してから、クエリを実行する
まずは「作成」タブから「クエリデザイン」を開いて、コピー元のテーブルを追加します。
次に、追加したい項目をデザイングリッド(画面下の表)に並べて、必要なら条件を入力します。
この時点ではまだ普通の「選択クエリ」なので、一度データシートビューに切り替えて、狙い通りのデータが抽出されているか確認してください。
問題なければデザインビューに戻って、リボンの「クエリの種類」から「追加」をクリックします。
「追加」を選ぶとダイアログボックスが出てくるので、データをコピーしたい「追加先テーブル」の名前を選びます。
すると、デザイングリッドに「レコードの追加」という行が現れます。
コピー元と追加先で項目名が同じなら自動的に対応してくれますが、名前が違う場合はドロップダウンリストから手動で追加先の項目を選んで紐づけます。
設定が終わったら、最後にもう一度データシートビューで追加される内容をプレビューして、リボンの「実行」ボタンをクリックすればデータの追加完了です。
追加クエリでよくあるエラー(キー違反・型変換)の原因と対処法
追加クエリを実行したとき、「〇件のレコードを追加できませんでした」という警告メッセージが出ることがあります。
これは、追加しようとしたデータが追加先テーブルのルールに合っていない場合に起こるエラーです。
メッセージで「はい」を押すと、エラーになったデータを除いて処理が進んでしまうので、意図しないデータ漏れを防ぐためにも、まずは「いいえ」をクリックして処理を止めて、原因を確かめることが大切です。
**追加クエリ実行時によく起こるエラーの種類**
– **キー違反**:追加先テーブルの主キーと重複するデータを追加しようとしている
– **型変換エラー**:テキスト型の項目に数値を入れるなど、データ型が合っていない
– **入力規則違反**:追加先テーブルに設定されたルール(文字数制限など)を満たしていない
一番よく遭遇するのが「キー違反」です。
これは、追加先のテーブルに設定されている「主キー(重複してはいけない一意の識別番号)」と同じ値を持つデータを追加しようとしたときに起こります。
たとえば、すでに顧客ID「1001」が登録されているテーブルに、もう一度「1001」のデータを追加しようとするとエラーになります。
この場合は、追加元のデータに重複がないか、もしくはすでに追加済みのデータを二重にコピーしようとしていないか確認してみてください。
もう一つよくあるのが「型変換エラー」です。
コピー元の項目が「短いテキスト」なのに、追加先の項目が「数値」や「日付/時刻」に設定されていると、Accessがデータをうまく変換できずにエラーになります。
この問題を解決するには、デザインビューで両方のテーブルのデータ型を見比べて、合うように修正するか、クエリの中で関数を使って適切なデータ型に変換してから追加するなどの工夫が必要です。
さらに便利に!条件指定や特定の値を追加する応用テクニック
追加クエリの基本操作に慣れてきたら、もっと便利な応用テクニックも試してみましょう。
ただ別テーブルのデータを丸ごとコピーするだけじゃなく、条件を細かく設定することで、必要な情報だけをピンポイントで追加できるようになります。
たとえば、デザイングリッドの抽出条件の行に「>Date()-30」と入力すれば、過去30日以内に追加された新しいデータだけを定期的にメインテーブルに合流させることができます。
また、コピー元のテーブルにはない情報を、追加するタイミングで自動的に補うこともできます。
たとえば、追加先のテーブルに「データ登録日」という項目がある場合、コピー元のテーブルに該当する日付データがなくても問題ありません。
クエリデザインの空白の項目欄に「登録日: Date()」と入力して、追加先項目として「データ登録日」を指定すれば、クエリを実行した日の日付がすべてのデータに自動的に入ります。
同じように、特定の文字列(たとえば「新規顧客」や「Web経由」など)を固定値として入れることもできます。
Accessで別テーブルへデータを追加する方法として、VBA(プログラミング)を使ったやり方もあります。
VBAを使えば「条件によって追加するテーブルを変える」といった複雑な処理もできますが、コードを書く専門知識が必要です。
普通のデータ統合や定期的なコピー作業なら、画面を見ながら操作できて、プログラミング不要で柔軟に設定できる追加クエリで十分対応できます。
まずは追加クエリの条件指定や固定値の追加テクニックをマスターして、日々のデータ管理をもっと正確でスピーディにしていきましょう。
広告
