• ベストアンサー

Accessのクエリでレコード追加

Access初心者です。 バージョンは2010をつかっています。 テーブルを14テーブル含み、フィールド数が100ほどある選択クエリを作りました。 抽出条件などは設定していません。 このクエリで新しくデータを入力、レコードを追加し、上書き保存した後クエリを閉じます。 それからまた、そのクエリを開くとレコードが追加されていません。 テーブルにはその入力したデータは追加されています。 このクエリにもそのデータを追加表示させるためにはどうすればいいですか? 表示されない原因はなんなのかお教えお願いします。

noname#218560
noname#218560

質問者が選んだベストアンサー

  • ベストアンサー
  • marutone
  • ベストアンサー率40% (70/174)
回答No.2

まずはレコードを追加した後に「↓」キーを押してみてください。 それで駄目ならそのクエリに主キーやNOT NULLの項目が、 含まれていないのが原因かも知れません。 クエリを作る際は主キーやNOT NULLの項目が必須です。 間違っていたら申し訳ないです。

noname#218560
質問者

お礼

NOT NULLを作らないとだめなんですね。 回答ありがとうございました。

その他の回答 (2)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

確認です。 先日22日の質問の続きでしょうか?。

noname#218560
質問者

お礼

その節はありがとうございました。 また別の質問です。

  • papiyonys
  • ベストアンサー率30% (53/174)
回答No.1

クエリにデータを入力した後に上書き保存する必要がありません。 テーブルに入力されているのでデータは確実に入力されています。 クエリで追加したデータが見えないのは、14あるテーブルの関係上、新しく入力したデータが何らかの矛盾があるためだと思います。どういう矛盾があるかは、テーブル間のリレーションシップ等詳細が分からないと分かりません。

noname#218560
質問者

お礼

回答ありがとうございました。 原因分かりました。 なにも入力していないテーブルがあったからみたいです。

noname#218560
質問者

補足

テーブル間のリレーションシップは 一つのテーブルが主テーブルとなっていて、そのテーブルの主キーに他の12のテーブルの主キーが参照整合性・連鎖更新・連鎖削除がオンの状態で一対一の関係性を持たせてあります。 また、その主テーブルの他のフィールドにも、他テーブルの主キーを参照整合性・連鎖更新・連鎖削除がオンの状態で一対多の関係性を持たせてあります。

関連するQ&A

  • Accessでの新規レコードの追加の方法

    Windows XP上でMicrosoft Access 2000を使用しています。 オートナンバー型フィールド1つのみを含むテーブルに新規レコードを追加したいのですが、クエリやそれを基にしたフォームを介した方法はもちろんのこと、テーブルをデータシートビューで表示した状態でも追加することができません。 例えばレコードセレクタからレコード追加を選んでレコード保存を選んでも追加されません。 このテーブルに別のフィールドを追加してデータを入れるとレコードの追加が可能なのですが、オートナンバー型フィールド1つのみではうまくいきません。 どなたかオートナンバー型フィールド1つのみを含むテーブルに新規レコードを追加する方法を御存知でしたら御教示下さいませ。

  • Access2010で・・・

    Access初心者です。 社内でデータベースを作ることになり、分からないながらもやっていて、いざデータの入力をしようとすると問題が起きてしまいました。 クエリやフォームでデータを入力しレコードを追加して、上書き保存し画面を閉じて、また開くとクエリやフォームにレコードが追加されていないんです。 テーブルには、ちゃんと追加されています。 この原因は何でしょうか? お教えください。

  • 追加クエリでテーブル全体を指定したまま条件を追加したい

    ACCESS2000を使ってます。 追加クエリでレコード追加の元となるテーブル全体を選択してます。 クエリのフィールド:テーブル名称.*と指定していますが、テーブルに追加する条件として、西暦4桁が格納されている「NENNDO」フィールドに2006だけのレコードを追加したいです。 クエリのデザインでフィールド:テーブル名称.*と指定されている状況で「NENNO」フィールドを追加して抽出条件に2006を指定して実行すると「出力先が重複しています」と表示されます。 追加クエリの対象テーブルが沢山あって、レコード追加先がOracleとなっているのでテーブルを削除せずにACCESSの削除クエリと追加クエリでレコードの作業したいと思っております。 フィールド:テーブル名称.*としたまま、テーブルに追加する条件だけを設定する方法をご教授願います。 (フィールドは、*ではなく、フィールド全てを1つづつ指定しないといけないのでしょうか?)

  • ACCESS【更新クエリの中断ができない】

    ACCESS初心者です。質問がわかりにくかったらすみません。 ACCESSの更新クエリで、レコードのカンマをスペースに置き換える式を作りました。 クエリを実行すると、 ”更新クエリを実行すると、テーブルのデータが更新されます” と、メッセージが表示され”はい”で次に進むと ”*件のレコードが更新されます。”と正確な件数が表示されます。 ただ、ここでやはり中断したいと思い、”いいえ”を選択しても、 レコードは更新されてしまいます。何故でしょうか?教えてください。 ______________________ フィールド:     型名 テーブル:      データ統合 レコードの更新:  Replace([型名],","," ") 抽出条件:     Like"*,*"

  • Accessのクエリーで、mymax関数を使ったら

    1)Accessのクエリーで、1レコード内の複数フィールドの数値の最大値を表示させるため、「mymax」関数を使用しました。 その結果が数値型でなくテキスト型で表示されてしまうため、分析に不都合で 2)テーブル作成クエリーにしてテーブルにしてから、テーブルデザインで数値型に変更し、 3)それを抽出クエリーで並べ替えなどデータ分析に使用しています。 以上のように、3段階の手順をふまず、 1)の時点で、最大値を、数値型で吐き出させることはできますでしょうか。 バージョンはACCESS97です。 どうぞ、よろしくお願いします。

  • ACCESSクエリーの抽出条件について

    OS WIN7 ACCESS 2007使用です。 クエリーの抽出条件について何ですが、テーブルにコードというフィールドがありまして、そこには数値が入力されています。 コード 1 2 3 4 5 ・ ・ このテーブルを元に選択クエリーを作りたいのですが、条件としてコードの値に2と3両方がある場合、2のレコードだけを表示せず、どちらか一方の数値だけの場合またはどちらもない場合は、全てのレコードを表示するようにしたいのです。 抽出条件はどのように書けばよいのでしょうか? いろいろ試したのですが、うまくいきません。 どなたかお助け下さい。

  • クエリーで全部のデータを抽出する方法

    アクセスのクエリーでデータを抽出する時、具体的にはフォームでデータを入力し抽出するのですが、たとえばフォームのテキストボックスに数字を入れないとそのクエリーのフィールドは抽出がかからないようにしたいのです。(抽出フィールドが1つなら数字をいれなければクエリーのデータすべてが表示される) ----------------------------------- フィールド   A      B     c テーブル   テーブル1 テーブル1 テーブル1 抽出条件    []    [] または    ---------------------------------- 上はクエリーのデザインですがクエリーをひらくと抽出条件をきいてきますがA列は何も入力しないでB列では1と入力するとBの列に1の入ってるレコードを表示させたいのです。(もし空欄が無理ならAの列の時何かある文字を入力すると全部表示になる、でもいいです。) まわりくどくなりましたが、アクセス超入門者です。よろしくおねがいします。

  • Accessのクエリについて

    お世話になります。 テーブル内の[出荷日]というフィールドに対して、 「出荷日1ヶ月前のレコード」を抽出しようと考えてます。 クエリ実行時に「日付」をパラメータ入力して、 その日付より1ヶ月前の出荷日のデータを出したいのです。 フィールドに対する抽出条件として、 <=[日付]-30 という条件を指定して実行したのですが、うまく いきませんでした。 どのように設定すればよいでしょうか? ご教授よろしくお願いします。

  • access追加クエリ実行時の重複を防ぎたい

    ACCESS 2010にて、追加クエリでテーブルにレコードを追加しています。 テーブル構造は、ID、製品名、在庫数、入荷日、依頼日となっています。 いくつかの選択クエリとクロス集計クエリを経て、その結果を追加クエリで、製品名、在庫数、入荷日の3フィールドに追加しています。 依頼日は、追加クエリ実行後にデータシート型フォームから入力しています。 その後、追加クエリを実行すると、依頼日の入力されていない重複データが追加されてしまうので、追加クエリを実行しても重複しないようにしたいのです。 わかる方、ぜひ教えて下さい。 宜しくお願いします。

  • ACCESS新規レコードが追加出来なくなりました

    ACCESS2010初心者です。クエリから入力用のフォームを作りましたが、新規レコードの保存が出来なくなりました。※マーク有効、データ入力も可能、エラーメッセージなしですが、フォームを閉じて、開きなおすと新規レコードが消えている(保存されていない)といった状況です。フォームの元クエリも新規レコード保存なしですが、クエリの元デーブルのみ新規データがどんどん追加されています。原因と対策をご教授頂きたく宜しくお願い致します。

専門家に質問してみよう