• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ユニオンクエリで複数ファイルをまとめるには)

ユニオンクエリとは?複数ファイルをまとめる方法と注意点

ruru0707の回答

  • ベストアンサー
  • ruru0707
  • ベストアンサー率68% (20/29)
回答No.3

10個のテーブルの構造が同じという事なので、1つのテーブルにデータをまとめるのが良いのではないでしょうか? その時、Mdbは別にして実行するMdbとはリンクテーブルにしておくと、良いと思います。 アクセスのデータベースは壊れる事もありますので、データMdbのバックアップを取るのも簡単になりますよ。 現状、わざわざ10個に分けている理由があれば(例えば支店毎にテーブルを分けているなどの場合)識別用のフィールドを追加する必要はあると思います。 後、集計をエクセルに出力しているそうですが、アクセスでやった方が簡単で早いのではないでしょうか? KeyやIndexなども有効に貼っておかれるとアクセスでの検索の処理速度は早くなります。 外部のデータベースへのテーブル作成クエリーや追加クエリーの実行が可能ですのでデータMdbを作成して、そこへ現在使用しているMdbからデータを追加していけば簡単に出来ますよ。

hakuyavaca
質問者

お礼

ご回答ありがとうございました。 間違って、『この回答への補足』に入力してしまいました。 申し訳ございません。

hakuyavaca
質問者

補足

回答ありがとうございました。 アクセス初心者で申し訳ございません。 少し補足をさせていただきます。 【補足】 社員データーをアクセスファイルで管理しています。 10人が一つファイルを持って使用しています。 1ファイルあたりの社員データーは300名です。 合計3,000名のデーターです。 ファイルは各支店ごとに分けて使用しています。 フィールド(項目)数が128です。 全てのファイルは同じフィールド(項目)です。 作業内容は社員データーの新規入力・データーの変更(編集)・データーの削除の3つです。 社内サーバーを使用して、各支店で入力しています。 アクセス2003を使用しています。 【回答内容の確認】 確かに、現在の使用方法があまり良くないのではと感じています。 10ファイルのテーブルに300名のデーターを入力編集を行うより、1つのファイルをリンクして入力したほうが良いと思います。 ただ、先輩方が 『アクセスは同時入力ができない』 『同時入力・編集作業をするとデーターが壊れる』 『データーの要領が重くなり作業効率が悪くなる』と聞いているので 1つのファイルに3,000名のデーターが入った状態で テーブルをリンクしたファイルを10作成して、 同時入力・編集・削除 作業スピード・データー破損は大丈夫でしょうか? もう一度ご教授お願いします。

関連するQ&A

  • ユニオンクエリから普通のクエリに変化

    フィールド数もフィールド名も全て同じにしたクエリを使用してユニオンクエリにしたところ 最初はマルが二つ重なったユニオンクエリマークでデザインビューでの編集ができなかったのに いつの間にか四角が二つ重なった普通のクエリマークになってデザインビューでの編集が可能になっています。 なぜでしょうか? ユニオンクエリではなくなってしまったのでしょうか? よろしくお願いします。

  • ユニオンクエリで開いたクエリは修正することはできないのでしょうか?

    ユニオンクエリで開いたクエリは修正することはできないのでしょうか? 新たにクエリ上で作ったフィールドではなく、元々テーブルにあるフィールドの情報を変更したいのですができません。 これを回避する方法はありますか?(アクセス2003です) よろしくお願い致します。

  • ユニオンクエリの結果を、テーブルにするには?

    ユニオンクエリを組んだあと、テーブルにしたくて、「テーブルの作成」をして実行を押すと、 「出力フィールドが必要です」とエラーが出てしまいます。 フィールドを選択しようとしても、空、なのですが、 どこで設定すればよいのでしょうか? ちなみに、ユニオンクエリを組み、実行すると、データは入っています。

  • ユニオンクエリについて質問です

    ユニオンクエリで表示したデータを元に表示されている日付を検索するようなフォームを作成したいのです。 テキストBOXに入力した日付と同じ日付のデータを持っているものを検索する時、再クエリをする必要があるとおもうのですが、ユニオンクエリをSQLで作成したので、再クエリの仕方が分かりません。 教えてください。よろしくお願いします

  • Access 2000、ユニオンクエリーがどうしても出来ない!

    初歩の質問ですが、ユニオンクエリーが出来ません。 やりたい事は非常に単純です↓↓ 1:テーブル1、テーブル2、テーブル3があります。 2:各テーブルのデータ内容は様々ですが、共通項目として「品番」を持っています。但しテーブル1は「製品名」、テーブル2と3は「品番」という項目名になっています。 3:各テーブル内に、品番が幾つ入っているか、集計クエリでカウントします。項目名が違うので以下のように処理しました。  <テーブル1の場合>    フィールド|品番のカウント: 製品名|タイトル: "テーブル1"    テーブル |テーブル1     集  計 |カウント  <テーブル2(或いは3)の場合>    フィールド|品番のカウント: 品番|タイトル: "テーブル2"    テーブル |テーブル2     集  計 |カウント 4:3の集計クエリーを繋ぎ、テーブル1~3の品番件数を一気に表示させたい  <ユニオンクエリの内容>     SELECT *     from Q0_カウント_テーブル1     UNION select *     from Q0_カウント_テーブル2     UNION select *     from Q0_カウント_テーブル3; 5:私の予想としてはこんな風↓↓出てくるはずだったのですが・・・     品番のカウント| タイトル     ------------------------------        30   | テーブル1        20   | テーブル2        23   | テーブル3  6:結果は「From句の間違いです」と出ます。他の質問も見ましたが、自分のSQLのどこを直せば良いのかわかりません・・・教えてください!

  • ACCESS ユニオンクエリはデータ編集ができない

    教えてください。初心者なので基本的なことで大変お恥ずかしいのですが・・・。 ACCESSでユニオンクエリを作成し、検索の結果としてフォーム上にデータが閲覧できるシステムを作りました。ユニオンクエリの元となる、テーブルは4つあります。 しかし、フォーム上からも、作成したクエリのデータシートビューからもデータの編集ができません。 クエリというのは、編集ができないという認識でいいのでしょうか。 データを編集するにはテーブルとしてインポートしなおして、作業するしかないのでしょうか? 何か良い方法があれば教えて下さい。

  • Adodcを使ってUnionクエリ

    VB+ADO+ACCESSで顧客管理のプログラムを作っています。 Accessのテーブルでは顧客の姓と名を別々のフィールドに分けているのですが、VBのDataComboでは顧客の姓名を一緒に表示し、選択出来るようにしたいと思っています。そのために、AdodcのRecordSourceプロパティで、Unionを使ったクエリの結果を表示したいのですが、上手くいきません。質問としては、根本的にUnionキーワードは使うことができるのでしょうか? よろしくお願いします。

  • ACCESSユニオンクエリから新テーブルを

    ACCESS2007/2010で、ユニオンクエリ(10個のテーブルをつないだ)から新テーブルを作りたいのですが、検索で調べて、なかなかピタリと説明してくれているサイトが見つかりません。。。 「ユニオンクエリ01」の指定 作成-クエリデザイン、閉じる、テーブルの作成 辺りをいじるんだと思われますが、 どなたか正確にナビして頂けませんでしょうか?

  • ユニオンクエリをデザインビューで開くには?

    アクセス2010です。 T_テーブル1とT_テーブル2があり、 どちらもフィールド1に文字が入っています。(テキスト型です) クエリのSQLビューで SELECT * FROM T_テーブル1 UNION ALL SELECT * FROM T_テーブル2; として保存したらユニオンクエリが出来上がったのですが、 これをクエリのデザインビューで見るにはどうすればいいですか? 以前のバージョンならユニオンクエリをデザインビューで見れました。 でもやり方を忘れました。 該当のクエリをアクティブにしてデザインビューを選択しても SQLビューで開いてしまいます。

  • ユニオンクエリでWHERE句を使うのは不可能でしょうか?

    アクセス2003です。 (select * from Q1) UNION ALL (select * from Q2) UNION ALL (select * from Q3); WHERE (((番号) Like "*001")); としても 「SQLステートメントの後に文字が見つかりました。」 となってしまいます。 「番号」と言うフィールドは Q1、Q2、Q3どのクエリにもあり (select * from Q1) UNION ALL (select * from Q2) UNION ALL (select * from Q3); のみなら正常に動作します。 作成したユニオンクエリで「フィルタの対象」で「*001」と入力したらちゃんと思い通りに動作します。 ユニオンクエリで条件抽出は不可能でしょうか? よろしくお願いします。