- ベストアンサー
特定のレコードのみの更新クエリ
過去ログより、項目の更新クエリはありましたが、 特定のレコードの更新方法はどう考えればいいのかアドバイスください。 テーブルには、毎月あたらしいデータがインポートされていきますが、 前月と比べて同じレコードは削除して常に新しいレコードにしておきたいのですが、これは一旦、重複クエリで重複レコードすべて削除してから新しいデータをインポートする2段階の方法をとるしかないのでしょうか?
- 9nainai9
- お礼率41% (16/39)
- その他(データベース)
- 回答数4
- ありがとう数3
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>レコードの更新の欄には、各フィールドに関して、どのように書くべきなのでしょうか? 書き換えたいデータが入っている方のテーブルのフィールド名を書きます (フィールド名が同じ場合にはテーブル名もつけた形で書きます)
その他の回答 (3)
- CHRONOS_0
- ベストアンサー率54% (457/838)
>商品番号、もしくは商品名が一緒という 特定なレコードを抽 >出する、構文がどうしてもわかりません。 クエリで同じものを結合するだけでいいのでは >Bテーブルは毎月テーブルが入ってくると >きに、一旦データ削除し、もういちど新しいデータを >Bテーブルにインポートするという過程をすればいいのでしょうか? こうするのがテーブル名やリレーションシップが変らないので一番いいですね
お礼
ありがとうございます。 単純なことまで見えなくなってしまうそれだけ、まだスキルがないんですね。それで更新クエリで更新というのはわかるのですが、 レコードの更新の欄には、各フィールドに関して、どのように書くべきなのでしょうか?これもまたSQLをひらいて、関数等をかいていかないといけないのでしょうか? もとのデータに対して、特定レコードのみ更新する場合の更新欄の書き方がわかりません。
- yambejp
- ベストアンサー率51% (3827/7415)
どのSQLを使うかによってだいぶ違うとおもいますが、 今回の件であればUPDATEでたいていできてしまいそうですけどね・・・ あとはミドルウェア次第
- CHRONOS_0
- ベストアンサー率54% (457/838)
特定のレコードだけを取り出すクエリを作り それを更新クエリに変えてやればいいのです
お礼
CHRONOS_0さん。毎回の質問に答えてくださりありがとうございます。 削除クエリではなく、データ抽出後の更新クエリというアドバイス、了解いたしました。 Aテーブル(元になるテーブル) [商品番号] [商品名] Bテーブル(毎月のテーブル) [商品番号] [商品名] ただ、この場合、商品番号、もしくは商品名が一緒という 特定なレコードを抽出する、構文がどうしてもわかりません。 毎月のテーブルは毎回かわるのに、それを制御する構文がつくれるのでしょうか? それと毎月のデータからテーブルを作るので、一度、特定のレコードだけを取り出すクエリを作った場合、この場合、Bテーブルは毎月テーブルが入ってくるときに、一旦データ削除し、もういちど新しいデータをBテーブルにインポートするという過程をすればいいのでしょうか?
関連するQ&A
- 更新クエリがわからない
windows-xp、Access2003を使っています。 参考書に載っている更新クエリは「同一のテーブル内でデータを更新する」という内容で載っているのを見ました。 が、そうではなく・・・ 更新クエリを作成すると「レコードの更新」という欄が出てくるのですが、そこに、別のテーブルや別のクエリのデータを”ビルド”で作成することはできないのでしょうか? 試みたのですが、”パラメータの入力”というものが出てきてしまいました。 ついでにおわかりになれば、これも教えてください。 ↓↓↓ テーブルAとテーブルB(或いはクエリB)に、同じIDをもつデータがあります。そこで、テーブルAの指定するフィールドへ、テーブルBの新しいデータを入れ込みたい(更新)させたい。 すみませんが、宜しくお願い致します。
- ベストアンサー
- その他(データベース)
- Accessの更新クエリについて質問です。
よろしくお願いします。 集計したクエリを元に更新クエリを実行すると、更新できません。 やりたい作業としては、売上データテーブルのレコード数を得意先ごとにカウントして、得意先マスタテーブルのレコード件数フィールドを更新する作業です。 追加クエリで一度テーブルに追加してから、テーブル同士で更新も考えたんですが、レコード数が多いためにDBのサイズが爆発的に増えて廃案になりました。 何か良い方法があれば教えてください。
- 締切済み
- オフィス系ソフト
- クエリ上でのデータ更新
Accessのクエリで、クエリ実行した画面の抽出されたデータ上で、データの書き換え・更新ができるクエリと、「このレコードセットは更新できません」と左下に記載されてしまい更新できないクエリがありますが、この2つにはどんな違いがあるのでしょうか? おそらく、元になっているテーブルの何かの設定が違うのだろうかと思うのですが、それがよくわかりませんので投稿しました。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- ACCESS2000 クエリーを開いてテーブルのデータを更新したい
ウィンドウズ98,ACCESS2000です。 二つのテーブルがあって、リレーションがあります。 これを元にクエリーを作成して、クエリーを表示させたフォームでデータの更新や削除を行いたいと思っております。 が、実際やろうとするとこのレコードセットは更新できませんとでます。 何か考えられる理由はありますか? よろしくお願いします。
- ベストアンサー
- その他(データベース)
- ACCESS【更新クエリの中断ができない】
ACCESS初心者です。質問がわかりにくかったらすみません。 ACCESSの更新クエリで、レコードのカンマをスペースに置き換える式を作りました。 クエリを実行すると、 ”更新クエリを実行すると、テーブルのデータが更新されます” と、メッセージが表示され”はい”で次に進むと ”*件のレコードが更新されます。”と正確な件数が表示されます。 ただ、ここでやはり中断したいと思い、”いいえ”を選択しても、 レコードは更新されてしまいます。何故でしょうか?教えてください。 ______________________ フィールド: 型名 テーブル: データ統合 レコードの更新: Replace([型名],","," ") 抽出条件: Like"*,*"
- ベストアンサー
- オフィス系ソフト
- 更新クエリでキー違反
クエリAのあるレコードからテーブルBのレコードにデータを流そうとします。 テーブルBのレコードにデータがちゃんと入っている と上手くデータが流れて更新されるのですが、IDと 名前しか入っていなかったりするとキー違反になるのです。 とても抽象的ですが、 どうして大丈夫なときとダメなときが発生すると 考えられますか?
- 締切済み
- その他(データベース)
- 更新クエリでテーブルを書き換えたい
データが0件のテーブルに、更新クエリで一つのレコードを追加したいのですが そもそもテーブルにデータが入ってない状態だから更新すらできないのですが こういう時どうすればいいでしょうか? Ttest01テーブルにaを入れたい場合、 UPDATE Ttest01 SET Ttest01.test01 = "a"; これだとうまくできません。 Ttest01のtest01フィールドの1行目にaを入れる方法を教えてください。
- ベストアンサー
- オフィス系ソフト
- Access クエリ このレコードセットは・・・
いつもお世話になります。 Accessで下記の様にクエリを作成しましたが、”このレコードセットは更新できません”と出てしまいます。 ■テーブル1 ・顧客ID(主キー) ・顧客名 ・住所 ・TEL ■テーブル2 ・顧客ID ・取引ID(主キー) ・請求金額 ■クエリ1(集計クエリ) ・顧客ID グループ ・請求金額合計: Sum(請求金額) 合計 ■クエリ2(実際に使用するクエリ) ・顧客ID(テーブル1) ・顧客名(テーブル1) ・住所(テーブル1) ・TEL(テーブル1) ・請求金額合計(クエリ1) このクエリ2を開いて更新しようとしても、”このレコードセットは更新できません”と左下に表示されて更新できません。 ・請求金額合計(クエリ1)を除けば問題なく更新できます。 ですが1顧客に対して通算で幾ら請求をしたかとその顧客のデータを同一クエリで表示・更新したいので、意味をなさなくなってしまいます。 どなかた良い方法をご教授下さいませ。
- ベストアンサー
- その他(データベース)
- 2つのテーブルで重複する値のレコードを削除したい
削除クエリ?重複クエリ?について教えてください。 テーブル1 フィールド"番号"には 1 2 3 テーブル2 フィールド"番号"には 3 4 5 があるとします。 「テーブル2と重複しているテーブル1のレコードを削除する」 (この場合「3」が重複しているのでテーブル1の3が入力されているレコードを削除) としたいのですがどいゆうSQL文を書けばいいのかわかりません。 ご教授よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
お礼
>フィールド名が同じ場合にはテーブル名もつけた形で書きます これで納得でうまくいきました。更新クエリも色々苦労してやっとできたかんじです、アドバイスありがとうございました。