• 締切済み

Accessのフォームに表示させたデータを訂正し、テーブルを更新させたい(初心者向けの回答をおねがいします)

Access初心者です。 複数のテーブルからクエリでデータをひっぱったものを フォームを使って別のフォームに表示させ、そこで データを訂正して更新し、更新した内容をそれぞれのテーブルに 反映させたいのです。 検索用のフォームを作って、表示させるためのフォームも 作成しました。そして、検索フォームから表示させることが できたのですが、表示させた内容を直すことができないでいます。 このさきどうしたらよいでしょうか? 本当に初心者ですので、詳しく教えていただけるとありがたいです。

  • gored
  • お礼率56% (21/37)

みんなの回答

noname#79209
noname#79209
回答No.2

あくまで、一つの方法ですが... 例えば、社員マスターと給与マスターがあって、 社員マスターには職位、給与マスターには基本給のフィールドがあったとしあます。 社員コードでこれらをリンクしたクエリーを元に、昇進した社員のデータを呼び出して、 この社員の職位と基本給をフォーム上で変更して、それぞれのテーブルに変更を反映させたい場合、 クエリーのフィールドを変更するのではなくて、フォーム上に非連結のテキストボックスやコンボボックスを配置し、 これに変更データを入力して登録ボタンを押すと、上記のコントロールの値を使って、 コマンドオブジェクト等で各テーブルにそれぞれ更新をかける方式になると思います。 まあ、これだとクエリを使う意味がないかもしれませんが、...

gored
質問者

お礼

そうですね。クエリの意味がなくなってしまうんですね。 上の方のおっしゃるとおり、ちゃんと基礎から勉強しなおしたいと思います。ありがとうございました。

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

たぶん追加・更新不可のクエリになってしまっているのでしょうね フォーム下部のレコード移動ボタンの新規レコードボタンの[*]が灰色になっていれば 追加更新不可のクエリです どのような場合にそうなるかはデータベースの基本の仕組みに関係しますので >初心者向けの回答をおねがいします これは難しいですね というよりこのあたりを理解せずには先へ進めませんので 一番親切な回答は入門書をお読みくださいということになります

gored
質問者

お礼

そうなんですよね。 がんばって読んでみます。ありがとうございました。

関連するQ&A

  • Access2010 更新データのレポート表示

    Access初心者です。 新規データを入力しても、レポートが更新されずに困っています。 (テーブルや、フォーム内では、データは更新されています) エクセルデータをAccess2010にインポートして、元テーブルを作成しました。 元テーブルを元に、フォーム・レポート・検索クエリ(年度別・分類別)等を作成しました。 ここまでの作業で、新規データの入力はありませんでした。 ところが・・・ 新規データをフォームに入力すると、元テーブルは更新されますが、既に作成しているレポートには、新規レコードが表示(反映)されません。 更新されている元テーブルを元に、もう一度レポートを作成しても、新規レコードは表示されません。 ホームタブの「全て更新」ボタンをクリックしても、新規レコードはレポートには表示されません。 尚、Access初心者です。 「更新クエリ」なるものは、作成していません。というか、「更新クエリ」って何?状態です。 また、クエリそのものが良くわかっておらず、作成したクエリは全て「検索」のためのクエリで、抽出条件に「 [] 」を入力したり、フィールドに「 年度: Year(DateAdd("m",-3,[発送日])) 」を入力したりしかできません。 勿論、リレーションシップって何???状態です。 どうしたらよいのでしょうか??? どなたか、初心者でもわかるように、教えていただけないでしょうか? 宜しくお願いいたします。

  • Access、更新用データと連結したフォーム

    度々の質問で恐縮です。 検索フォームの検索結果を、レコードセレクタのWクリックで、 更新するためのテーブルと連結したフォームを開いて、 そのフォーム項目に「値の代入」をしています。 で、その「更新用データのフォーム」で更新項目を編集し、 ボタンを押すと「フォームと連結したテーブル」を使った更新クエリを実行する、 というマクロを実行するようにしてみました。 その処理を実行後、「更新用のフォーム」を閉じて、最初に書いた検索フォームで 検索すると、更新実行結果が反映しません。 レコードセレクタのWクリックを抜きにして、直接「更新用フォーム」を開き、 そのフォームにある「更新用のマクロ」を実行するボタンをキックすると反映します。 で、今は更新用フォームからマクロをキックするボタンは消して、 更新用フォームを閉じると、更新用データのテーブルは更新項目を反映しますので、 直接「更新用マクロ」をキックするだけのボタンしかないフォームを別に開いて、 そのボタンを押すようにしています。 最初の構成で、つまり、「更新用フォームで編集し、その画面のボタンで 更新用マクロをキックして更新実行したい」のですが、編集内容が 「更新データテーブル」に反映するには、どうすれば良いでしょうか? くだくだしい説明を書いてしまい、まことに申し訳ありませんが、よろしくお願いします。

  • Access 別フォームへの再クエリ(更新)がしたい。

    宜しくお願いします。 仕様環境:WinVISTA Access2007 別フォームから別フォームへの再クエリの仕方を教えてください。 画像を貼らせて頂きます。 まず、後ろのメインフォームから新規作成ボタンを押して、 別のフォーム(作成画面)を開きます。 そこに新しいデータを入力して、閉じますと、 そのままではメインフォームには反映しません。 (テーブルには反映していますが) 別フォーム(新規の作成画面)に再クエリをかけても そのフォームが更新させるだけで、メインフォームに変化はありません。 ちなみにメインフォームに作った更新ボタン(中身は再クエリ)を押すと反映されます。 どうしたら別フォームから後ろのメインフォームを再クエリ(更新)できるのでしょうか? やりたいことは別フォームのOKボタン(画像参照)を押すと 別フォームが閉じると同時にメインフォームが再クエリ(更新)されるとベストです。 (今のところOKボタンの中身は”閉じる”のマクロだけです) 構造は簡単で恐縮ですが、 テーブル:Tメイン フォーム:メインフォーム      作成画面フォームetc.. です。 クエリはメインフォーム自体にクエリビルダを使っていますが、 特別な施しなどはしていません、うまく動作しないところがあって、 いろいろ調べていてそうすると改善すると書いてあったので。。 ちなみにテーブルには「日付」の後順で並び替えをかけています。 当方、VBAに弱いのでマクロで操作できるのでしたらお願いします。 マクロで出来ないものでしたらVBAを教えて頂ければ、 イベントプロシージャに書き込みます。 大変恐縮ですがお知恵をお貸しください、宜しくお願いします。

  • ACCESS2000 クエリーを開いてテーブルのデータを更新したい

    ウィンドウズ98,ACCESS2000です。 二つのテーブルがあって、リレーションがあります。 これを元にクエリーを作成して、クエリーを表示させたフォームでデータの更新や削除を行いたいと思っております。 が、実際やろうとするとこのレコードセットは更新できませんとでます。 何か考えられる理由はありますか? よろしくお願いします。

  • Access2010 更新データ反映のレポート印刷

    質問の仕方が悪かったようなので、もう一度質問いたします。 Access初心者です。 新規データを入力しても、レポートが更新されずに困っています。 エクセルデータをAccess2010にインポートして、元テーブルを作成しました。 元テーブルを元に、フォーム・レポート・検索クエリ(年度別・分類別)等を作成しました。 データが入力されているテーブルは、この元テーブルのみです。それ以外のテーブルはありません。従って、全てのクエリは、この元テーブルを元に作成しております。 フォームを作成しているときに、コンボボックスを作成し、コンボボックスのコントロールソースは、全て、その場で作成しました。(コンボボックス用のテーブルは作成していない) また、郵便番号から住所を入力できるように設定してあります。 ここまでの作業で、新規データの入力はありませんでした。 ところが・・・ 新規データをフォームに入力すると、元テーブルは更新されますが、元テーブルを元に既に作成しているレポートには、新規レコードが表示(反映)されません。 しかし、レポートフッターに設定してある「Count(*)」は、新規レコードを含んだ数字を返しています。 更新されている元テーブルを元に、もう一度レポートを作成しなおしても、新規レコードは表示されません。 ホームタブの「全て更新」ボタンをクリックしても、新規レコードはレポートには表示されません。 どうしたらよいのでしょうか??? どなたか、初心者でもわかるように、教えていただけないでしょうか? 宜しくお願いいたします。

  • 【ACCESS】フォームのデータでテーブル作成

    写真のようなフォーム上に「既設のフィールドの追加」でテーブルの値を追加し、分割フォームでデータを表示するフォームがあります。その後フォーム上のテーブルでフィルターをかけて、その状態のテーブルに対してクエリなどの処理をしたいと思いっております。 そこでフィルターをかけた状態のテーブルのデータを他のテーブルへ追加または新規作成することは可能でしょうか? 写真だと「フィールド1」をフィルタ「あ」をかけてあだけのデータを表示させてその状態のテーブルを別のテーブルへ追加または新規作成したいです。 実際のテーブルには100以上の項目があり使用者によってフィルタをかける項目も違うため自由にフィルタをかけた状態で別のテーブルへデータを追加したいと考えています。 拙い説明で申し訳ありませんがご指導よろしくお願いいたします。

  • Access2016 フォームに入力したデータ

    こんにちは。よろしくお願いします。 Access2016で本をみながらどうにかフォームまで作成しました。 フォームにデータを入力し あとでテーブル確認すると内容が一部反映していないのは どこが悪いのでしょうか? クエリで確認すると反映されています。 フォームの作り方が悪いのか、リレーが悪いのか 例えば、フォーム内で 担当者コード 100と入力したら 自動でフォーム内に 山田と入っています。 でもテーブルで確認すると 100だけあって 山田はありません。 クエリで確認すると 100も山田も反映されています。 素人なので変な質問になっているかもしれません。 上記内容の改善策を教えて下さる方いらっしゃいましたら よろしくお願い致します。

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

    こんばんは。アクセス入門者です。 入門書やできるシリーズなどいくつかのアクセスの本を見たのですが、 フォームについて、理解できません。 ●担当者マスタ ■客先マスタ ★コードマスタ ▲売り上げ計画マスタ ◎売上げ結果マスタ テーブルを作り、それぞれのテーブルから必要な項目を集めて、クエリを作成しました。思ったとおりの結果になったので、これを元にフォームを作成しました。 思ったとおりの結果が表示されるのですが、このフォームに入力が出来ません。できなかったので、次の方法を試しました。 ★コードマスタと▲売り上げ計画マスタのデータをサブフォームに配置しデータを追加させようと思って、あらたにフォームを作りました。やはり、思ったとおりの表示はされるのですが、追加ができないのです。それぞれのテーブルには、★コードマスタを主にそれぞれ、一対多にリレーションを組んでいます。 1つのフォームで色々なテーブルに結果を反映できるように、参照整合性の更新、削除にもチェックを入れました。 この考えは間違っているのでしょうか。 ○○マスタとあるように、それぞれ1つのテーブルに1つのフォームにしなければならないのでしょうか。 複数のテーブルから取り出したデータの更新は無理なのでしょうか。 ある程度、クエリまで完成したのにフォームでつまずいて苦しんでいます。ご解答宜しくお願い致します。

  • Access VBA サブフォームの更新

    こんにちは。いつもお世話になっております、Access初心者です。 メインフォームからサブフォームを表示するようにしているのですが、 サブフォームのプロパティのレコードソースにローカルで作成した テーブルを設定してあります。 サブフォームを開くとそのテーブルの内容が表示されますが、 プロパティで更新の許可、削除の許可、追加の許可をすべてはいに 設定していれば、サブフォームに表示されているデータを更新や追加などの 編集を行ったら、自動敵にテーブルに反映されるものと思っていたのですが、 反映されません。 何かコードを書く必要があるのでしょうか? すみません、よろしくお願い致します。

  • Accessフォームでデータ入力できない(初心者)

     テーブルにて各種データを入力して、それに基づいてクリエにて数式を使って2つの値を算出。 テーブル:原価、経費、利益率、商品名 クリエ:販売価格、利益金額  テーブル、クリエのすべてのデータを使ってフォームを作成したのですが、テーブル部分のデータをフォームにて入力・編集できません。テーブルのみを使ってフィールドを作成すると入力・編集できるのですが、クリエにて作成した「販売価格、利益金額」を表示できません。  フォームにテーブル、クリエのすべてのデータを表示でき、かつフォームでテーブルデータを編集できるようにするにはどのようにしたらよいのでしょうか。  当方、Accessはほとんど初心者のようなものです。すみませんが、よろしくお願いいたします。 Win7-64bit、Access2010