• ベストアンサー

アクセスの新規登録について。

アクセスである入力画面の中に新規登録ボタンをおいています。3種類のフィールド(ID(1)、ID(2)、ID(3))があるのですが、全て入力しなければ新規レコードに移動できません。ID(1)とID(2)は必ず入力するのですが、ID(3)は空欄のこともあります。リレーションシップの関係でしょうか?ID(3)のみ空欄でも新規登録ができるようにするにはどうしたらよいでしょうか?何でも考えられる原因があれば教えてください。よろしくお願いいたします。

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

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

テーブルデザインビューのフィールドのプロパティーで[値要求]を[はい]にしていませんか

ayanohina
質問者

補足

確認しましたが「いいえ」にしてあります。

関連するQ&A

  • アクセスのフォームでのレコード移動ができません。

    アクセスのフォームでのレコード移動ができません。A(管理番号)B(会社ID)C(部品ID)D(担当者ID)のフィールドがあるのですが、A~Dの全てに入力した場合はレコード移動ができます。でもCとDを空欄にしたままでは移動できません。リレーションシップをCとDともはずしても変わりませんでした。どこがおかしいのか良きアドバイスをよろしくお願いいたします。

  • アクセスで新規入力のボタンを作成しているのですが。

    アクセスで新規入力のボタンを作成して、新しいレコードに移動できるようにしているのですが、必ず、IDの欄に「0」が表示されています。ここに入力する際、毎回「0」を消してから入力しないといけないので、初めから空欄にしておきたいのですが、可能でしょうか?何かよい方法があったら教えてください。よろしくお願いいたします。。。

  • Access VBA 抽出したレコードをフィールドを増やして別テーブルに追加する方法

    2つのクエリーで抽出したレコードを結合し、そのレコードにID番号をつけて別のテーブルに追加することはできないでしょうか? 1枚のガラスの値段表を作りたいと考えています。 使用するテーブルは、1つ目がサイズ表でサイズ番号と2つの辺の長さの3つのフィールドからできています。2つ目はガラスの種類表で種類番号と種類名の2つのフィールドでできています。3つ目は値段表で上の2つの表の5つのフィールドにID番号と値段の2つのフィールドがあり全部で7つのフィールドです。 いま、フォームにサイズ表と種類表のサブフォームをつくり、それぞれ結合したいレコードを表示させています。そこからフォームに値段を入力し登録ボタンをクリックすると値段表に新しいレコードを追加するような登録ボタンを作りたいです。 簡単な例でも構いません。 VBAがわかる方、教えてください。

  • Accessリレーションシップについて

    お世話になります。 Access2010 普段はクエリにて、いくつかのテーブルやクエリを紐づけているのですが リレーションシップの設定は今までやったことがありません。 ネットで調べて、 ・「参照整合性」にチェックを入れることにより、1対多の多側で1側に存在  しないIDで登録しようとするとエラーになる。   →間違ったデータが入力されるのを防ぐ。 ・多側でリレーションシップが設定されているフィールドに値を入力しない  ことは可能。但し、当該フィールドの「値要求」プロパティを"はい"に  した場合は、入力しないとエラーになる。 ・「フィールドの連鎖更新」にチェックを入れると、1側で変更したものが  多側でも自動的に変更される。 ・「レコードの連鎖削除」にチェックを入れると、1側で削除した場合、  多側で該当するデータをもつレコードが自動的に削除される。 上記については実際に試してみて動きを確認しました。 ※上記の認識違いや、もっと大事なことがあればご指摘、ご教示頂けると  幸いです。 今までは、こっちのテーブルで削除したらこっちのテーブルでも削除 みたいなことをやってたので、便利だとは思うのですが。。 以下のテーブルでリレーションシップの設定を行ったとします。 売上テーブル  ID 商品 担当者コード  1 AAAAA  3  2 BBBBB  1  3 AAAAA  1  4 CCCCC  2  5 CCCCC  3 担当者テーブル 担当者コード 担当者名  1     担当者A  2     担当者B  3     担当者C 売上テーブルの担当者コードと、担当者テーブルの 担当者コードでリレーションの設定を行い、「参照整合性」及び 「レコードの連鎖削除」にチェックを入れたとします。 例えばフォーム上にリストボックスを設置し ID 商品 担当者名 を表示し、リストボックス上で選択されたレコードを、削除ボタンを 押したら、そのレコードが削除されるプログラムを作成します。 ※選択されたレコードのIDを取得し削除クエリで削除。 リストボックスでID:5のレコードを選択し、削除ボタンを押した場合 売上テーブルのID:5のレコードを削除しても、担当者テーブルから 担当者コード:3のレコードは削除されない・・という認識でよろしい でしょうか。 ※要するに、1対多の多側で削除されても1側には影響無し。 同様にリストボックスでID:5のレコードを選択し、削除ボタンを押したときに 担当者コード:3を取得し、まずは担当者テーブルで担当者コード:3の レコードを削除すると、併せて売上テーブルのID:1及びID:5が削除 される。 要するに、上記のケースで「レコードの連鎖削除」の設定を行うと 本来削除すべきID:5以外のレコード(ID:1)まで削除されてしまう ことになる?? ※そもそも例がちょっと悪かったかもしれません。。 何が言いたいかというと、「フィールドの連鎖更新」「レコードの 連鎖削除」は、よーく考えて設定しないと意図しないところまで 更新されたり削除されてしまうのかなと。。なので、設定することに よって、プログラムの作りも変わってきてしまうことになるので しょうか。 理解不足で質問自体もモヤモヤしたものになってしまいましたが、 ご教示のほど、宜しくお願い致します。

  • ACCESS2007に関する質問

    MSのACCESSに関する質問です。 ACCESSは初心者です 2種類のテーブルがあります。 (1)事業所登録  フィールド  ・事業所ID  ・事業所名  ・業種    ・    ・   ・FAX番号 (2) 営業担当者  フィールド  ・ID  ・事業所ID  ・営業担当者名  ・Eメール            です。 『事業所登録』のフォームに、『営業担当者登録』ボタンをつけております。 ボタンを押すと、『営業担当者』の新規フォームが現れて、今開いている事業所の事業所IDが入るようにしたいのです。 『速攻 ACCESS2007』本を読んでますが、方法がわかりませんので質問です。 よろしくお願いします。

  • ファイルメーカー8 一括に貼付

    繰り返し10のフィールドA 通常のフィールドB ボタンC があります。 ボタンCを押すと、BのテキストをAのフィールドに張り付けるようにしますが、1番上に値がすでに入っていた場合は2番目に入れる、というように空欄に入れる方法は計算式を使ってできました。 ただ、1レコードずついちいちボタンCを押さないと張り付けてくれませんので、できれば対象レコードすべてフィールドBの内容をすべてフィールドAに張り付けたいのです。 スクリプトを使うとき、Bを全置換して、張り付けるのだと思ったのですが、対象レコードに一括貼付する方法がわかりません。 例 フィールドB:りんご フィールドA: レコード1は空欄、空欄、・・・、空欄 レコード2はみかん、空欄、・・・、空欄 レコード3はみかん、柿、空欄、・・・、空欄 とあったとき、ボタンCをおすと フィールドA: レコード1はりんご、空欄、・・・、空欄 レコード2はみかん、りんご、空欄、・・・、空欄 レコード3はみかん、柿、りんご、空欄、・・・、空欄 としたいということです。 方法はありますでしょうか?

  • ACCESSでフォームを開くとき

    ACCESSでフォームを開くとき、例えば社員番号を 特定(例えば10)して、オープンします すると確かに、10のレコードが表示されますが マウスのスクロールキーを上下すると 10のレコードともう一つブランクのレコードが行き来します これを防ぐ方法ありませんか? ブランクレコードと行き来する、の追加説明ですが レコード移動ボタンは、いいえ、でなくしたのですが この移動ボタンを操作すると、10のレコードと、新しく入力 するためのブランク画面が出るような感じです よろしくお願いします

  • アクセスの空欄のテーブルについて

    アクセスでは最初にテーブルという箱を作ると聞きました。このテーブルにはまだデータを入力していないとすると、NULL値として「0000・・・」のようなものが電算機上は、入っているのでしょうか? それとも、全く何も入っていないのでしょうか?空欄のフィールドやレコードの領域は内部でどのようになっているのでしょう?コンピュータにおけるデータ領域の空欄はどのようになっているのでしょうか?つたない質問ですみません。

  • アクセスのテーブルのレコードをひとつのフォームにすべて表示ししたい

    アクセス2002を使っています。 ひとつのテーブルに登録しているレコードの値(日付順のフィールドにより数値を入力たレコードです)をひとつの単票形式のフォームにすべて表示するようにしたいのですが、できますか? よろしくお願いします。

  • Accessのリレーションシップ

    Access初心者です。 Access2010でデータベースを作っていて、行き詰ってしまいました。 テーブル1にフィールドABCDEFがあって、Aに主キーが付いています。(Aはテキスト型でフィールドサイズ10です。) テーブル2にはフィールドAGHがあり、Aに主キーが付いてます。(Aはテーブル1と同じです。) テーブル3にも同じくフィールドAIJがあり、Aに主キーが付いています。(Aはテーブル1と同じです。) テーブル1のフィールドAを主テーブルとし、テーブル2・3のフィールドAにリレーションを組んでいます。 この時のリレーションシップで参照整合性と連鎖更新と連鎖削除にチェックを入れ、種類が一対一になりました。 その後、テーブル1でレコードを追加しようとすると、「テーブル'2'にリレーションシップが設定されたレコードが必要なので、レコードの追加や変更を行うことができません。」と出ます。 これを解決する方法はどうするのか、お教えお願いします。 分かりにくい説明ですいません。

専門家に質問してみよう