こんにちわ。
Windows2000、Access2000という環境下で、
住所録の統合をしようとしています。
簡単な構成は、前任者が、グループ関連会社別に住所録のmdbを作っており、各テーブルのフィールドで主要なものは、「通し番号(各mdbごと)」「氏名」「会社名」「住所」です。
ここで、最終的にテーブルを一つにまとめれば完了としたいところなのですが、
2002年夏の時点での住所録A.mdb
2003年冬の時点での住所録B.mdb
2003年春の時点での住所録C.mdb
とあり、それぞれにBの時点での新規入力・(住所等の)更新、Cの時点での新規入力・更新があるのです。
BはAを元に作られており、CはBを元に作られています。
ダブっている部分があるのです。
そこで、AとBを比較してAの中で「氏名」、「会社名」が同じもの以外と、Bのデータを新しいDBのテーブルへ、
新しくできたDBのテーブルとCのテーブルとを比較して、「氏名」「会社名」が同じものは、既存のレコードを消去してCのデータを追加するということをやりたいのです。
つまり、BやCでの更新・新規入力をうまく反映させた形の住所録にしたいのです。
Access自体の使い方に不慣れなもので、この作業がAccessのクエリ等の組み合わせでできるのか、それともSQLやVBAを駆使しないと無理なのかの判断もつきません。
どなたか参考になりそうな操作やSiteを知っていましたら、
教えてください。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
その3つのテーブルはフィールド構造は一緒でしょうか?
一緒ならUNIONクエリーを作成したら良いのではないでしょうか。
例えばテーブルA、B、Cがあって、いずれも名前、住所というフィールドがあるとしたら
=操作方法=
1.クエリーをデザインビューで新規作成します。
2.テーブルの表示は、なにも選択せず閉じます。
3.画面左上のファイルメニューの下にSQLというボタンが出来ているはずです。
4.クリックするとSQLウインドが表示されます。SELECT;のみが表示されていると思います。
5.下記のようなSQL文を入力します。
===============================
SELECT A.名前,A.住所
FROM A
UNION SELECT B.名前,B.住所
FROM B
UNION SELECT C.名前,C.住所
FROM C;
===============================
重複データを省く述語DISTINCTを使用しなくても、おそらく重複データがある場合自動的に併合されると思います。
されなければHELPでDISTINCTの使い方を調べてSQL文を書き換えて見てください。
この回答への補足
回答ありがとうございます。
記述方法まで記載していただけて助かります。
しばらく反応がなかったもので、
回答がつかないのではないかと落ち込んでいたところでした。(^_^;)
フィールドに関しては、A、B、C共に同じものだけになっています。
次に指摘して頂いた方法についてですが、
”重複データが併合”されるという点に心配があります。
AにBやCでの新規入力・更新と同じデータあった場合
(つまりAとBに名前が同じであるが違う住所で載っているという場合など)、
Bのデータのみを残し、Aを削除した形の”併合”になるかです。
UNIONクエリというものがあるのは、なんとなく知っていたのですが、会社のPCに入っているOfficeがおかしいのか、Helpが表示されないので躊躇していました。
この条件を満たす重複データ削除については「DISTINCT」を利用しないと無理なのでしょうか?
お手数だとは思いますが、再び回答を頂けるとありがたいです。m(__)m
長らくお礼もせずに申し訳ありません。
ひとまず、この目的はExcelで実現させました。
Accessであれこれ組むには、
もっと勉強が必要だと実感しましたので。(^_^;)
今後もAccess自体は使ってみたいので、
何かの際に質問をするかもしれませんが、
その際にはよろしくお願いします。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) ACSESS初心者です マンション管理をACCESSで出来ないかとチャレンジしています。 リレーショ 3 2022/10/08 11:45
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- Excel(エクセル) Excel ドロップダウンリスト(入力規則)に関してです データの入力規則で元データ79000行のド 3 2023/07/17 10:06
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Oracle SQL update方法 2 2022/06/22 14:07
- 年賀状作成・はがき作成 エクセルで作った住所録をワードの差し込み印刷ではがきに印刷したい 3 2022/09/26 15:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessでテーブル名やクエリ名...
-
Accessクエリでの、LIKE条件
-
2つのテーブルを比較して一致し...
-
Accessでテーブルからテーブル...
-
ACCESSで指定されたテーブルか...
-
Accessの追加クエリで既存のテ...
-
ACCESSに同時アクセス(編集)を...
-
リンクテーブルを CopyObject ...
-
Accessレコードの追加や変更が...
-
AccessをMDBファイルで使う場合...
-
SQLで日付を条件に削除したい
-
ODBCで接続するとDBに変更/追加...
-
ツリー構造をRDBで表現するには?
-
データ型の変更
-
Accessのフォームの並び替えを...
-
データベースで変更の多いテー...
-
DAOのTableDefs("TblName").Con...
-
3つの表を1つに縦に連結する
-
Access SELECT INTO に関する質...
-
AccessのDlookupの引数設定につ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessでテーブル名やクエリ名...
-
ACCESSに同時アクセス(編集)を...
-
Accessでvlookupみたいなことは...
-
Accessでテーブルからテーブル...
-
Accessクエリでの、LIKE条件
-
Accessレコードの追加や変更が...
-
access テーブル内のレコード...
-
3つの表を1つに縦に連結する
-
SQLで日付を条件に削除したい
-
Accessの追加クエリで既存のテ...
-
SQLで条件指定結合をしたいがNU...
-
デザインビューで、連結式 を...
-
ツリー構造をRDBで表現するには?
-
ACCESSで指定されたテーブルか...
-
リンクテーブルを CopyObject ...
-
2つのテーブルを比較して一致し...
-
時間の足し算
-
ODBCで接続するとDBに変更/追加...
-
パススルークエリをテーブル作...
-
INSERT時にデータ登録とmaxの発...
おすすめ情報