• ベストアンサー

access table 上書きしてデータ追VBA

chayamatiの回答

  • chayamati
  • ベストアンサー率41% (257/615)
回答No.2

◎IDデザインビューまたはくえりーデザインビューで開くと  IDの項目名の頭に🔑マークが付いていますね  これは主キーと呼びまして、システムで採番が行われ変更または更新は許されません  因みにテーブル1のIDを除去して。追加クエリーを開いてください  テーブル2にはクエリーを開く都度テーブル1のレコードは増えます ◎テーブルには他にも日付、物品名、数量、単価等が含んでいますね、  また物品のテーブル、取引先のテーブルもありそうですね  これらを差障りの無い範囲で補足願います

関連するQ&A

  • access インポート時、既にあるデータは上書き

    accessで、データをインポートする時に、すでにあるデータは、上書きしたいです。 (既にあるIDの場合上書き、ないIDの場合追加されるようにする。) そこで、検索すると、「更新クエリと追加クエリ」で出来ることがわかりました。 参考にしたページのアドレス http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1224631687 ここからが質問なのですが、 さらに、上書きするデータ(すでにあるデータ)は、バックアップとして別テーブルを作って そこに更新前のデータをためていきたいのですが、どうすればいいでしょうか? よろしくお願いします。

  • アクセスファイルを上書きしてもデータが消えないようにしたい

    アクセス2000にて受注システムを構築しています ひとつのファイルにテーブル、クエリなど全てのプログラムを組んでます テーブルはODBCリンクで行っているのですが、2~3種類ほどローカルテーブルがあり、 ここに月々のデータが保存されています。(1ヶ月ごとに手動で削除) 更新・変更などでファイルを上書きすると、このローカルテーブル内のデータが消えてしまうのですが、 消えないようにする方法っていうのはありますでしょうか

  • Access2003:重複なしでデータを取り出す方法を教えてください

    住所テーブルと注文テーブルを結合させ、ダブらない抽出をしたいと思っています。 (最終的には「最近の注文した顧客の住所ラベル」を作りたいのです) 住所テーブルは ID(オートナンバー型)|*顧客番号(テキスト型)|住所(テキスト型)|郵便番号(テキスト型)  *は主キー 注文テーブルは *注文ID(オートナンバー型)|顧客番号(テキスト型)|注文日(Date型)|商品ID(テキスト型)|注文数(Int型)  *は主キー 注文テーブルの注文日を2007/1/1以降とクエリをかけると、同じ顧客番号が出ます。 つまり、注文日を2007/1/1以降とした住所テーブルと顧客テーブルを結合してクエリをかけると、注文テーブルで重複した顧客のデータも出てしまいます。 これを同じ顧客番号が重複しないように抽出したいのです。 他のQAも拝見しましたが、イマイチ行いたい事柄にヒットしていないと思い、 更には当方がそれらを理解する域まで及ばないと思いまして、新しい質問としてあげさせていただきました。 どなた様か、お分かりの方がおいででしたらご教示くださいますよう、お願い申し上げます。

  • accessで重複データの削除について

    accessというよりSQLについてなのかと思いますが、教えていただけないでしょうか。 重複するIDがあり、1件を除いて他のデータを削除してデータを抽出したいです。 抽出条件としては、[年月日]カラムがあるため、日付が一番直近のものを残したいです。  ※こちらも重複しております。 また、[フィルタ]カラムが「2」のレコードのみを対象としたいと思っています。 accessの場合、重複クエリを用いるのかと思い、クエリウィザードから作成しましたが 一意とはなりませんでした。 SELECT テーブル1.[共通ID], テーブル1.[連番], テーブル1.[郵便番号], テーブル1.[住所], テーブル1.[担当者名], テーブル1.[年月日], テーブル1.[フィルタ] FROM テーブル1 WHERE (((テーブル1.[共通ID]) In (SELECT [共通ID] FROM [テーブル1] As Tmp GROUP BY [共通ID] HAVING Count(*)>1 )) AND ((テーブル1.[フィルタ])=2)) ORDER BY テーブル1.[共通ID], テーブル1.[年月日] DESC; distinctも使ってみましたがうまくできませんでした。 何が原因でしょうか。 申し訳ありませんがご教示いただきたくお願いいたします。

  • ACCESS 重複データ削除の順番について

    追加クエリを使って重複データを削除する時に、削除されるデータについて質問です。 重複レコードを含むテーブルの構造のコピーを作成し、重複レコードを含むすべてのフィールドの主キーを作成して、元のテーブルから新しいテーブルへの追加クエリを実行して、重複レコードを一括削除をしています。 [操作についての参考URL] http://support.microsoft.com/kb/879852/ja =========================================== (テーブル) [ID]  [クラス]  [名前]   [時間]     1     A     ああ   11:00 ←重複 2     B     鈴木   12:00    3     C     アア   13:00     ←重複  4     A     ああ   14:00 ←重複 5     B     森    15:00   6     C     アア   16:00     ←重複  7     B     青山   17:00   8     C     アア   18:00     ←重複     9     A     ああ   19:00 ←重複 =========================================== 上記のようなテーブルで「クラス」と「名前」の2つのフィールドを主キーにした場合、 「A」の「ああ」さんと、「C」の「アア」さんが各3件ずつ重複しています。 しかし、「ID」と「時間」はそれぞれ違っています。 このような場合に、削除されないデータと削除されるデータの違いは何なのでしょうか? ACCESSの仕様でとか、レコードの若い番号順で削除されるとか、明確なルールが あれば教えていただけると幸いでございます。 御手数お掛け致しますが、何卒よろしくお願いいたします。

  • Accessでデータ追加のクエリについて

    「コードNO」(13桁数値)「開始日付」(yyyymmdd形式の数値)「変更日付」(yyyymmdd形式の数値)「終了日付」(yyyymmdd形式の数値)の4つのデータから成るCSVファイルがありまして、そこに毎月同形式の追加のファイルが発生するのです。開始日付はそれぞれで、変更日付・終了日付は初期値が「99991231」です。新規のコードNoについては追加して、重複するものは上書きしていきたいのです。 私はAccess2000を使ってやってみました。テーブルデータにして追加クエリで追加した後、選択クエリでグループ化を使い、「コードNo」をグループ化、「開始日付」はずっと変わらないので取りあえず「最小」、終了は1度しか変わらないのでやはり「最小」、問題は「変更日付」です。度々変わって行くので初期値を除く最大、又は上位2番目の数値というようにしたいのです。そんな設定の仕方が可能でしょうか? まったく別のやり方でも、Accessでなくても(EXCELなら97)良いのでアドバイスをお待ちしてます。

  • Accessでクエリに規則性の無い重複データが

    Accessに二つのテーブルを作りました。 Tユーザー情報 ・ユーザーID ・郵便番号 ・性別 T都道府県 ・都道府県名 ・郵便 Tユーザー情報には都道府県のデータがないため、 T都道府県とひもづけたいのです。 続いてクエリを作成しました。 ・ユーザーID(Tユーザー情報) ・性別(Tユーザー情報) ・郵便番号(Tユーザー情報)→リレーションシップ:郵便(T都道府県) ※結合プロパティで「両方のテーブルの結合フィールドが同じ行だけを含める。」 ※無効な〒番号のユーザーは省きたいため ・都道府県(T都道府県) 結果、Tユーザー情報の件数よりも、クエリのレコードの件数が多くなってしまいました。 ユーザーIDを見ると、全く同じレコードが数行混ざっていました。 重複レコードはそれぞれ件数が違い、規則性も見つかりません。 全体で10万件のうち8千件くらいの重複データができてしまいます。 googleで調べると、もともと重複データのあるレコードを削除する方法は あるようですが難しく、そもそも重複データを作らない方法が見つかりません。 クエリの作り方が間違っているのでしょうか… どうぞよろしくお願い致します。

  • access での値参照およびコピー

    はじめまして、 どなたかアクセス2007での処理方法を教えてください。 アクセス初心者です。よろしくお願いいたします。 以下のような3つのテーブルがあります。 salesテーブルはcsvファイルをインポートしたワークテーブルです。 テーブル名:sales(ワークテーブル) 受注番号 名前   住所 3   さぶろう 長野県 4   しろう  愛知県 ここから追加クエリで以下のテーブルにデータを追加しました。 (ID12と13、IDはオートナンバーです。) テーブル名:顧客マスター 顧客ID 名前 住所  10 たろう 東京都 11 じろう 神奈川県 12 さぶろう長野県 13 しろう 愛知県 そして以下のテーブルにも追加クエリでワークテーブルの情報を追加しました。 テーブル名:受注情報(受注番号3と4を追加) 受注番号 顧客ID  商品名 1    10   りんご(すでにあるデータ) 2    11   ばなな(すでにあるデータ) 3         りんご(今回ワークテーブルから追加したデータ) 4         みかん(今回ワークテーブルから追加したデータ) 上記の場合で、受注情報テーブルに顧客IDを挿入するには どのような方法で追加すればよいのでしょうか? ワークテーブルの中に顧客IDはないので単純な追加クエリでは できなのでどうやったらよいか分かりません。 (顧客テーブルと受注情報テーブルは結合されています。) 同姓同名を避けるためにsalesテーブルの名前&住所と顧客マスターテーブルの 名前&住所を比べて、同じものの顧客IDを受注情報テーブルの顧客ID欄に入れたいのです。 そうすると顧客テーブルと受注情報テーブルの顧客IDのリレーションシップに矛盾が 起きないのではないかと思っています。 よろしくお願いいたします。

  • 更新可能なクエリであることが必要です ACCESS

    更新可能なクエリであることが必要です Access2010で更新クエリをかけたいと思っています。やりたいことは以下になります。 クエリデザインで行おうとしています。 追加動物テーブル(重複したIDもあります。) ・ID ・数 追加動物クエリ(追加動物テーブルで数の合計をしています。重複IDがある為) ・sum(数) group by ID トータル動物テーブル(このテーブルに追加動物クエリで得た数を足し込みたいです) ・ID ・数 そこで、クエリデザインで更新クエリを行おうと思いました。 SQLは、 UPDATE トータル動物テーブル INNER JOIN 追加動物クエリ ON トータル動物テーブル.ID = 追加動物クエリ.ID SET トータル動物テーブル.数 = [追加動物クエリ]![数]; としたら、「更新可能なクエリであることが必要です」と表示されました。 目的としている、クエリで取得した数をテーブルの数に追加したいです。 例えば、トータル動物テーブルの001 猫の数が10だとします。追加動物クエリで得た猫の数が20だとします。 更新クエリが実行された時、トータル動物テーブルの猫の数が30になっていてもらいたいです。 ずっと悩んでいるのですが良いアイディアがでません。おわかりでありましたらお教え下さいませ。 宜しくお願いします。

  • Access2007テーブルの更新

    Access2007で住所録を作成していますが、すでにあるテーブルに名前と郵便番号があります。 そのテーブルに住所を追加し、住所入力支援を設定しましたが、既存のデータには住所が出ません。新規にデータを入れると住所は出ます。 どうしたら、既存のデータで郵便番号から住所が出ますでしょうか。 よろしくお願いします。