• ベストアンサー

アクセス Aというファイルの内容の一部をBのそれに直す

こんにちは。アクセスを使ってデータを修正したいのですが、やり方が複雑で検討がつきません。 二つのファイルに、今の時点では何も主キーとなるものが ない状態なので、何をキーにすればいいのか分かりません。どうぞご教授よろしくお願いします! 以下はファイルの説明です。(長文すみません) 【ファイルA:間違いファイル】         ・レコードそれぞれにアパ名NOがついている (アパートに複数在住の場合あるので,  同じNOで部屋NOが違うものアリ) NO 住所1 住所2 アパ名1  アパ名2 アパ名3     3- A町- 102- ○アパート- 1号室-(空白) 1- K町- 55- ×アパート- 2棟-6号室  9- M区- 11- アパート- 2号室-(空白)  【ファイルB:合っているファイル】 住所1 住所2 アパ名 部屋NO M区- 11- ○アパート- 2号室  A町- 102- ○アパート- 1号室 K町- 55- ×アパート2棟- 6号室        ※直したい箇所 この例で言うと、K町55の物件は、Aでは「×アパート」「2棟」になっているが、Bでの「×アパート2棟」という形式にしたい。 レコード総数は15000件くらいです。 よろしくお願い致します。

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

クエリの新規作成でデザインビューで作りSQLビューを開き下記のSQLをコピーしてください。 UPDATE ファイルA INNER JOIN ファイルB ON (ファイルA.住所1 = ファイルB.住所1) AND (ファイルA.住所2 = ファイルB.住所2) SET ファイルA.アパ名1 = ファイルB!アパ名; このクエリでファイルAとファイルBを住所1同士・住所2同士を結合してファイルAのアパ名1にファイルBのアパ名を更新させます。 ファイルAのアパ名のフィールドのみ更新をかけられます。更新は更新したいフィールドのみ指定すれば良いのでアパ名1のみであれば上記でOKです。 更新のフィールドの追加も出来ます。デザインビューで開けば簡単にフィールドの追加等できると思います。 参考にしていただければ。

yuki56
質問者

お礼

丁寧なご回答ありがとうございます。 SQLというものは今まで全く使ったことがなく、 勉強になりそうです。 本当にアクセスは色々なことができるのですね。 教えて頂いたやり方でやってみようと思います。 ありがとうございました!

その他の回答 (2)

noname#15065
noname#15065
回答No.2

 「ファイルB:合っているファイル」の項目は、 住所1 住所2 アパ名 部屋NO だけですか?  そうだと仮定すると、「ファイルA:間違いファイル」の「アパ名3」の項目は、最終的には不要になるということですか?

yuki56
質問者

補足

ありがとうございます。わかりにくかったようですみません。補足しますのでよろしくお願いします。 ・ファイルBもAも項目は他にいくつもあります。 (特にBはエクセルで読めるギリギリに近いフィールド数を もったデータです) ・アパ名3(号室を表す)の項目は・・不要にはなりません。実は今回のアクセスデータ作成=このファイルを使った作業をするための下準備ファイルの作成なのです。 「●●アパート」「2号館」「1号室」などに2つ以上のセルに別れているアパート名を「●●アパート2号館」のようにアパート名だけ結合し一つのセルにし、「1号室」のセルとは区別したいのす。

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

テーブルの詳細が全て確認できませんが・・。 ふたつのテーブルで共通しキーとなりそうなのは住所1&住所2の2つを使い複数フィールドのキーとすれば良いのではないかと思います。 ファイルAの住所1&住所2とファイルBの住所1&住所2をキーとしてファイルAのアパ名1にファイルBのアパ名を更新すれば出来ると思います。 ファイルAとファイルB共に住所1&住所2としても重複するレコードが無ければこれで行けます。

yuki56
質問者

お礼

回答ありがとうございます。 なるほど、住所をキーとするのですね。 ファイルA、B共に、住所1と2が重複するレコードはない(はず)です。住所1同士で重複するものはありますけどね。 O_cyanさんの回答をヒントにどうすればいいか考えてみます(初心者なので時間がかかるのです・・すいません)

関連するQ&A