• ベストアンサー

Accessでテーブルを参照させ、データーを更新させたい。

matyapの回答

  • ベストアンサー
  • matyap
  • ベストアンサー率56% (9/16)
回答No.1

こんばんは。 価格マスタとその他のテーブルは、何かのユニークなキーでリンクが取れていることを仮定してお応えします。 <クエリーを使う方法> (その他のテーブルは複数あっても1つずつ更新します) 1.データベースウィンドウが開いている状態で、クエリーの新規作成を行います。 2.価格マスタとその他のテーブル(のうち1つ)を追加します。(2つのテーブルのキーにリンクが自動的に張られたと思います) 3.ツールバーのクエリー→更新クエリーを選択します 4.下部の”フィールド”の欄に、更新したいフィールド名、同じく、”テーブル”の欄に、更新したいテーブル名(その他のテーブル)を、設定します。 5.”レコードの更新”欄に、更新元のテーブルと項目名を記述します。   例)[価格マスター].[価格] バージョンの古いACCESSを使用しているので、多少違うかも知れません。その時はスミマセン。 回答が的を得ていなかった場合はお許しください。

quadra
質問者

お礼

こんにちは、アドバイス参考にやってみたら、出来ました。本当にありがとうございました。また何かの時はよろしくお願い致します。助かりました。

関連するQ&A

  • Accessのフォームとテーブルについて教えてください。

    Access2003を使用しています。 既存のフォームAにフィールド3個を増やしました。 フォームAはテーブル(1)と連動していました。 追加したフィールドはテーブル(6)のものです。 ところがフォーム上で追加フィールドに入力が出来なくなりました。3フィールドのうち、ひとつはコンボボックスです。表示はされますが確定ができません。 フォームAのSQLステートメントではテーブル(1)・(6)以外にテーブル(2)・(3)・(4)・(5)が結合されています。 フォームAからするとテーブル(2)・(3)・(4)・(5)のデータはIDの名称を見るための参照用です。 テーブル(6)は、追加フィールドのコンボボックスが参照用で、他の2追加フィールドは、フォームから入力してテーブル(6)に反映させたいものです。 テーブル(6)の画面では入力できます。 フォーム上からは入力できません。 設定が何か欠けているからでしょうか? 他の質問では2つのテーブルをひとつのフォームにする場合は、クエリを別に設けた方がいいとなっています。フォームが出来上がっているので、できればクエリを設けずに行いたいのですが、よくない方法でしょうか? 手順なども踏まえて教えていただけると助かります。 よろしくお願いいたします。

  • ACCESSの更新に関して

    初歩的な質問で申し訳ありません。 教えて下さい。 社員マスタテーブルと評価テーブルが以下の項目で存在しています。 《社員マスタ》  社員マスタ、氏名 《評価テーブル》  社員マスタ、評価 上記内容をフォームを使って、社員番号、氏名、評価 という項目を 表示させ、社員番号が存在するまで評価を手入力するというような仕掛けを考えています。 表示は参照クエリで社員番号をキーにして、両テーブルを結合させ、行う事はできるかと思いますが、データの入力を行う事ができない為、何か良い方法がないか?と考えています。 どのような手順が良いのかを教えて頂きたいと思います。 VBAで組まなくてもできるでしょうか・・・。 よろしくお願いします。

  • Access:リンクテーブルでの参照、更新処理

    マスターmdbにメインとなるテーブルを置き (ID,課,担当者名,商品番号,商品名,価格・・・) 3課まであるのですが、各課の専用フォルダに編集するmdb (仮に編集mdbとします)を置いて メインテーブルをリンクし、同じフィールドを用意した編集用テーブルを置き、フォームやクエリを作成して作業しようとしています。 基本的に同じ顧客に一斉に手を加える事はないので 編集用テーブルに一旦格納したデータを追加クエリでリンクしたメインテーブルへ書き込み、削除クエリで編集用テーブルを綺麗にしています。 が。そもそも新規ばかりではなくメインテーブルに既存のデータを読み込んで編集したい事もあります。 この処理をどうしたら良いのか分かりません。誰かがメインテーブルを参照していたら他の人が見れないと思うし、1レコードだけ見るのであればそれだけ一旦編集用テーブルへ置けば良いのかと思いましたが、 一覧を見てソートしてみたりする事もあります。 管理者が全部のデータを掌握したいのでマスターmdbにメインとなるテーブルを置いたのですが、これを課ごとのテーブルに分ければ良いのでしょうか? Accessをいじればいじる程毎回発見がありますので、知らないだけで他に簡潔な方法などありましたら教えて下さい。宜しくお願いします。

  • Accessで、入力内容に応じたリスト参照をしたい

    いつも大変お世話になっております。m(_ _)m 質問させてください。 Accessで、入力内容に応じてあるフィールドで参照するリストを変更させたいのですが、難しい設定や記述が必要でしょうか? マスタテーブルに以下の情報を入れておきます 品名/値段 A・・・100円 A・・・200円 B・・・300円 B・・・400円 次に、別のテーブルを作成します そのテーブルには、「品名」「値段」を入力するわけですが 「値段」のフィールドには、リストボックス(またはコンボボックス)を設定しておき、「品名」を「A」と入れたら、「値段」のフィールドでリストボックスに表示される選択肢を「100円と200円」 品名を「B」と入力したら、リストボックスの選択肢は「300円と400円」というように、入力する値によって瞬間的に参照する値を変更したいのですが、可能でしょうか? できるだけ具体的に回答をお願いします。 お手数おかけします。よろしくお願いします。

  • アクセスVBA テキストボックス入力値からの参照

    マイクロソフトアクセス初心者です。 現在、アクセスでデータベースを作成しています。 2つのフォーム(フォーム(1)、フォーム(2))、2つのテーブル(入力情報、マスタ)、2つのテーブルをもとにした1つのレポートを作成しています。 『フォーム(1)』のテキストボックスAに入力された値を、Dlookup関数で『フォーム(2)』のテキストボックスBに数値を参照しています。 『フォーム(2)』のテキストボックスに表示された値を、『フォーム(2)』に設置されたコマンドボタンをクリックすると、VBAで『テーブル入力情報』のフィールドAに入力されるようにしています。フィールドAについてのマスタとなるテーブルが『テーブルマスタ』です。 リレーションシップを設定せず、ただ単に値を入力することは出来るのですが、レポートを作成するにあたって、『テーブル入力情報』と『テーブルマスタ』のフィールドAに1(テーブルマスタ)対多(テーブル入力情報)のリレーションシップを設定したいと思っています。 リレーションシップを設定し、テキストボックスBに表示された数値を『テーブル入力情報』に入力する際、『テーブルマスタ』から該当するデータを選択して『テーブル入力情報』に入力されるようにしたいと思うのですが、現状では、リレーションシップを設定すると、入力値が真っ白になってしまい、レポートにも入力したデータが反映されません。 ちなみに、入力する際はフィールドA=Me.テキストボックスBのようにしています。 何か良い解決策がありましたら、是非教えていただけませんでしょうか? 分かり難い文章かと思いますが、どうぞ宜しくお願い申し上げます。

  • アクセスで、テーブルのデータが更新できない

    アクセスで、テーブルのデータが更新できない accessについての質問なのですが、テーブルの中のデータを(フォーム等を使わず)テーブルを開いて直接データを書き換えました。 フィールド名などの変更でなく、テーブルの中身の更新です。 そのあと、数日間はその変更された内容が保持されていたのですが、1週間もたたないうちに、またもとに戻っていたのです。(3回以上、同じことがありました) これは何か原因があるのでしょうか。それとも、このaccess自体が何かおかしくなっているのでしょうか??

  • Accessでのテーブル構造の作り方

    MS Access 365版について質問です。 知識は、先週末に入門書(Accessのデータベースのツボとコツがゼッタイにわかる本)を一冊読んだだけで初めての実務というレベルです。(非ITエンジニアなので専門用語は避けていただけるとありがたいです) 用途は、自部署内のデータ管理です。 質問1 今、あるテーブルT1があったとして、そこにフィールドT1_F1~T1_F10があったとします。 この時、主キーにするID(T1_F1)以外のT1_F2~T1_F10はすべてドロップダウンで入力したかったとします。 T1_F2のドロップダウンを表示するときの参照するマスタとなるテーブルとしてMT2があったとして、フィールドがMT2_F1~MT2_F5まであったとします。 MT2の主キーをMT2_F1として連番が振られているものとして、MT2_F2にはそのレコードの概要(そのレコードの全体像が把握できる日本語名称)が格納されていて、MT2_F2~MT2_F5までは各種のパラメータが格納されています。 また、T1_F3以降も同様のマスタとなるテーブルMT3~MT10を参照していたとします。 このときに、T1のレコードを入力するとしたら、T1_F2のドロップダウンにはMT2の主キーであるMT2_F1(連番)を選択することになると思います。 しかし、連番ではユーザーが直感的な選択ができないため、連番を選ぶ際に、同時にMT2_F2(日本語の説明)が見れると便利だと思います。 このようなことは実現できるでしょうか? できるとしたら、どのような方法になりますでしょうか? T1へのレコード入力のクエリと、MT2~MT10への選択クエリを同じ画面に表示させるなどができるなら、それが王道でしょうか? 質問2 次に、T1_F3のドロップダウンはMT3の主キーを表示することになります。 しかし、MT3はフィールドが1つだけで構成されており、内容も「パターンA」「パターンB」~「パターンF」のような日本語を主キーに設定すれば事足りるパラメータだったとします。 (ようは、T1_F3のレコードに入力可能な日本語は何パターン化に規制したいだけで、「パターンA」などに紐づくそれ以上の情報は存在しない状態です) この場合、T1側で入力規制をすることは可能でしょうか? これだけの目的でも、マスタ(MT3)をつくるのが正攻法でしょうか? 実は、この例ではT1のフィールド数は10としましたが、実際にはもっと多く、T1_F4が参照するMT4の各フィールドがさらに、そのマスタとなるテーブルを参照しに行かなければならないという状態で、おそらく、全体で少なくとも3層~5層程度の構造になりそうで、マスタとなるテーブル数も数十くらいになりそうです。 これをつくるのがやや手間になりそうなので、1層だけでも手抜いてテーブル数を少なくできるならそうしたいという目的です。 ただ、メンテナンス性などもろもろを考えると、マスタテーブルを用意するのが正攻法ということなら、手間はかけてもテーブルを作りたいと思っています。 お手数ですが、よろしくお願いいたします。

  • Accessで、1つのマスターを複数のフィールドで参照する

    いつも大変お世話になっております。m(_ _)m Accessで以下のようなテーブルを作成します。 テーブル(1) ・生産部門コード ・販売部門コード ・AS部門コード テーブル(2) ・部門コード ・部門名 テーブル(2)はマスタになります。 00:A生産部 01:B生産部 11:A販売部 12:B販売部 みたいな情報が入っています。 テーブル(1)の「部門コード」は、テーブル(2)の値を参照して入力します。 この2つのテーブルをリレーションして、クエリで部門名を表示させたいのですが、1つのマスタ(テーブル(2))のコードを複数のフィールドで参照するとエラーになります。 このような場合、テーブル(マスタ)を3つ作らないとダメなのでしょうか? 要は、テーブルに部門情報を入力したいのですが、マスタは1つで良いということです。 よろしくお願いします。

  • ACCESS2007でテーブルへの書き込み

    何時も大変お世話になっております。 ご教授をお願い申し上げます。 環境 ・windows7 ・ACCESS2007 過去事例に似たケースが有ったのですが、上手く行かなかったので 書き込みさせて頂きました。 画像の様な画面があります。 入力日・品番・数量・備考・消化区分・支払日は手入力で それ以外の 品名・単価・購買先・勘定区分はDlookUpにて商品マスタと購買先マスタから 引っ張って来ております。 全ての項目は別のテーブルに蓄積させて行く考えでおります。 上手く行かない部分は手入力以外の部分が蓄積させたいテーブルに 書き込まれない事です。 コードで引っ張って来ているので、他でも同様にコードで引っ張ればよいのでは? というお話もあるかと思うのですが、どうしてもテーブルに書き込みたく苦慮しております。 変なやり方かとは思いますが、何とぞアドバイスをお願い申し上げます。

  • ACCESS2000 テーブルの更新方法

    テーブルAがデータベース(商品番号、単価)が入力されています。 テーブルBが入庫されたデータ(オーダー番号、商品番号、個数)が入力されてます。 クエリで 入庫されオーダー番号を入力すると、テーブルBから入荷した商品番号、個数、テーブルAから単価が表示されるようになっています。 商品番号でリンクさせている状態です。 そこで単価に変更があった場合、この時点でテーブルAの単価を上書き訂正したいのですが、入力できませんでした。 何かよい方法はありますか?アクセスはじめたばかりでよくわかりませんが、よろしくお願いします。