プロが教える店舗&オフィスのセキュリティ対策術

Access2000を使用しています。
テーブルの更新方法についてアドバイスをお願いいたします。

Excelの表からインポートとして「テーブルA」を作っています。
Excelからは項目「A、B、C、D」をインポートしていますが、テーブルにインポートしたあとで、項目「E、F、G」を新たに追加作成し、値を手入力しています。
(Excelにはこの項目がないためです)

Excelの表は時々更新されるため、その都度上書きとしてインポートしなおす必要があります。
しかしそうすると項目「E、F、G」が消えてしまいます。

項目「E、F、G」の値を残したまま項目「A、B、C、D」を更新するなどということはできるのでしょうか?

代替案でもけっこうですのでどうぞよろしくお願いします。

A 回答 (3件)

>「項目A」がダブりのないデータですのでこれをキーに二つのテーブルをつなぎ、


>更新クエリに変更後
Aテーブルの項目Bフィールドの
>「レコードの更新:」に[テーブルNEW]![項目B]
と書くのですよ

Aは同じはずですから更新する必要はありません
    • good
    • 1
この回答へのお礼

ありがとうございました。
おかげさまでテスト用のデータベースではうまくいきました。
本物は更新用のデータがないのでまだできませんが、おそらく
できそうな感じです。

お礼日時:2007/05/13 23:40

ExcelシートのABCDのどれかが通番や商品番号など、そのレコードを特定できる物が有る場合は可能です。



たとえばAが通番だとしてそれが変更されないものだとしたら、ACCESS側のテーブルとしてAEFGの列を作成し、クエリーのキーとしてExcelからインポートしたテーブルとACCESS側のテーブルのAを結合フィールドとして関連付けし、双方の列を出力すれば出来ます。
そのときの結合プロパティとしては双方のA列に対し、「両方のテーブルの結合フィールドが同じ行だけを含める。」とすればそのクエリをテーブルのように更新することも可能です。
ただExcelシートを更新するときにマッチさせるための列の値を変更してしまうと違う値と関連付けられてしまいますので注意は必要です。

更新クエリでインポートした内容を別テーブルに更新する場合も更新するレコードに対しての関連付けが必要になってくると思います。
一度、クエリの使い方に関しての全般をお調べになる事と、仮のテーブルを二つ作ってクエリで結合させた内容を表示するなど、クエリの使い方に対してなれる事が必要です。

クエリを使用する事がデータベースを利用する中で一番難しく、データベースエンジンらしい処理となりますので丁寧に勉強してください。
    • good
    • 0
この回答へのお礼

ありがとうございました。
>そのときの結合プロパティとしては双方のA列に対し、「両方のテーブルの結合フィールドが同じ行だけを含める。」とすればそのクエリをテーブルのように更新することも可能です。
下に書きました方法をやってみたとき3種類全部の結合のプロパティを試しましたがいずれもダメでした。
「テーブルA」「テーブルNEW」の同じ項目の箇所だけ変更するような状態でした。
「テーブルA」を「テーブルNEW」にそっくり変えたかったのですが。
(項目「E、F、G」以外)

お礼日時:2007/05/09 00:53

更新クエリでできます


調べてみてください

この回答への補足

ありがとうございました。
いろいろ調べて自分で以下のところまでやってみましたが・・・

※更新用のテーブル「テーブルNEW」があるとします。
まず元の「テーブルA」で選択クエリを作り、そこにテーブルの追加で「テーブルNEW」を持ってきました。
「項目A」がダブりのないデータですのでこれをキーに二つのテーブルをつなぎ、更新クエリに変更後、「レコードの更新:」に「[テーブルNEW]![項目A]、[テーブルNEW]![項目B]…と入力しました。

しかしうまくいきませんでした。
二つのテーブルの結合させ方?がまずいのではと思いますが、これ以上は私のスキルではわかりません。
よろしければアドバイスをお願いいたします。

補足日時:2007/05/09 00:44
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A