• ベストアンサー

アクセスのフォームを開くときに新しいレコードへ移動するには?

omusupaの回答

  • omusupa
  • ベストアンサー率61% (115/186)
回答No.6

お礼読ませていただきました。 読んでいて少々疑問に思ったことがありますので、確認させてください。 >>可変するテーブルに直接すべてのマスターテーブル >>がリレーションされていますか? >>それとも、可変するテーブルに得意先Mテーブルが >>リレーションされていて、さらに、得意先Mテーブ >>ルに担当者Mテーブルがリレーションされているな >>ど・・になっていますか? >おっしゃる通りになってます。 ということでしたが・・これは、どちらになっていますか?わたしは、後者のほうになっているのかと(可変するテーブルに得意先Mテーブルがレーションされていて、さらに、得意先Mテーブルに担当者Mテーブルがリレーションされている)だと思ったのですが、前者のほうでしたか? もし、後者のほうだとすると・・・先ほどのお礼の部分に疑問が出てきます。 >この2つのテーブルのいずれか1つでも追加すると入力ができなくなります。 この、「いずれか」という言葉に、ひっかかります。 可変するテーブルには、「得意先M」はリレーションされても「担当者M」を単独で入れても、可変するテーブルにはつなげるフィールドがないのではないかと考えます。例えば、担当者IDが可変するテーブルにあり、「得意先M」にも存在するということになっていますか? と、リレーションをもう一度見てみてください。(リレーションシップウィンドウの方です) リレーションシップウィンドウでグレーのところで、右クリックして、すべてのリレーションを表示して、すべてを見てください。(おかしなところはないですか?)もし、リレーションシップウィンドウのほうではリレーションの設定をしていないようであれば、その旨教えてください。 と、クエリを作成するときに、先ほど確認していただいた方法で、ひとつずつテーブルを追加して確認していくときに、リレーションは自動結合しましたか?それとも、自分でつなげましたか?その部分を教えてください。

xxxgin
質問者

お礼

すいません。間違っていました<(_ _)> 可変するテーブルには 1.得意先M 2.品目M 3.項目M 4.担当者M が直接リレーションされています。 得意先Mにはさらに、 5.区分M がリレーションされています。 つまり区分Mは可変するテーブルとは直接は リレーションされていません。 また、テーブルを追加してゆくときには、品目Mと項目Mは自動結合しましたが、担当者Mと得意先Mは自動結合しませんでした。 担当者Mが自動結合しないのは、可変テーブルでの フィールド名は入力者CDになっていて、担当者Mの フィールド名は担当者CDになっているためだと思います。ですので、これは自分で結合しました。得意先Mは「送付先CD」ということで可変テーブルのフィールド名とは同じにしているのに、自動結合しません。 この得意先Mも自分で結合させました。 この自動結合しないフィールド名ですが、 可変テーブルの「送付先CD」と得意先Mの「送付先CD」 可変テーブルの「入力者CD」と担当者Mの「担当者CD」 となります。 可変テーブルの「送付先CD」ですが、フィールドサイズを倍精度浮動小数点型にしています。 これは得意先Mのフィールドサイズと一致しています。 また、「入力者CD」は長整数型にしています。 これも担当者Mのフィールドサイズと一致しています。 ほんとにお手間取らせることになって申し訳ないのですが、どうぞ宜しくお願いします。こんなに親切にご返答いただけるのって初めてです(*^_^*)

関連するQ&A

  • アクセス2000のフォームでレコードの移動が出来ない。

    アクセス2000を使っています。 フォームで入力を途中までして終了し、後でフォームを開いて前のレコードに移動しようとしても移動できません。 新しいレコードの追加も出来ません。 どうしたらよいでしょうか。

  • アクセス2000のフォームについて

    アクセスでまたつまずいてしまいました。ちょっと教えてください。 複数のテーブルから選択クエリを作り、それを基にオートフォームでフォームを作ったのですが、フォームでデータの入力が出来ません。クエリでもデータの入力が出来ません。 「このレコードセットは更新できません」と下のほうに出ます。 フォームのプロパティのデータの更新の許可と、データ入力用のところは“はい”になっています。 私では原因がわかりません。わかりにくい質問でしょうが、どなたかご指導お願いします。

  • アクセス スナップショットについて

    フォームのプロパティの 更新の許可→いいえ 削除の許可→いいえ 追加の許可→いいえ とするのと レコート゛セット→スナップショット にするのは全く同じ意味でしょうか?

  • Accessでレコードの保存をせずにフォームを閉じたい

    Accessでデータベースのレコード追加を行うフォームを作成しています。 コマンドボタン(1)をクリック→新しいレコードの追加 コマンドボタン(2)をクリック→フォームを閉じる としています。(ウィザードを使用して、埋め込みマクロ?を設定しています。) コマンドボタン(1)でレコードが追加されるのは問題ないのですが、 コマンドボタン(2)をクリックした場合も、レコードが追加されていることに気がつきました。 一般的に入力する人は、 データを追加しようと思って入力していたけれど、 途中でやめてフォームを閉じることってありますよね? そういう場合にレコードが追加されてしまったら問題だと思ったのです。 ですが、どうしたらレコードの追加をせずにフォームを閉じられるかがわかりません。 それって可能でしょうか? Access初心者です。難しいVBAとかはまだよくわかりません。 何か方法、アドバイス等ありましたら よろしくお願いします。

  • ACCESS2000のメインフォームサブフォーム間の移動

    Access2000でメインフォームの中に詳細を確認/入力するためのサブフォームを作成しています。 メインフォームの中のコントロールを最後まで入力(enterで移動)していくと、メインフォームの最後のコントロールの次はサブフォームの最初のコントロールに移動します。(これは普通ですよね?) サブフォームはデータの詳細によっては1レコードで終わるものもありますし、複数レコードにわたるものもあります。 サブフォームの入力が終了したときに、キー操作でメインフォームの次のレコードの頭のコントロールに移動する事はできますか? マクロをAccessの方から設定するくらいならできるのですが、自分でSQLをうんぬんする知識はありません。 よい方法があったら教えてください。

  • アクセス レコードセットを更新できません

    アクセスは初心者ですが、会社で少しずつ勉強しながら、会社のアクセスのシステムを管理しています。 先日から、突然既存のアクセスのシステムで、フォームを入力しテーブルに追加しようとすると「レコードセットを更新できません」とメッセージが出てきて、データを更新できなくなってしまっています。 特にアクセスを変更したりしていないのですが、突然なってしまいました。 今まで問題なく動いていたので、なぜそういったメッセージが出るのか分からず、困っています。 どういった対策をしたらよいでしょうか。 ご助言をお願いいたします。

  • アクセス・別フォームの新規レコードへの移動

    こんにちは アクセス2000で フォームAでフォームBの入力をしています。 新規登録ボタンを押すと フォームBを保存し フォームBの新規レコードに移動したいのですが どうすればいいのかわかりません。 どなたかお力をお貸しください。。 。

  • フォームに配したレコード移動ボタンの操作改善

    フォームに配したレコード移動ボタンの操作を改善したいと思っています。アドバイスを宜しくお願い致します。 [改善したいこと] 「次へ」のコマンドボタンをクリックしていくと、最後のページで止まらずに無地のページでストップします。現在の設定を変更しないで、最後のページで止まる様にできればと思っていますが、どんな方法があるのか、設定変更無し・設定変更有りを含め教えて頂けませんでしょうか。 [改善対象オブジェクト] 1,オブジェクトはフォームで、名前は「保険契約管理入力フォーム」です。 2,フォームに4つのコマンドボタンを配し「前へ」「次へ」「先頭の・・」「最   後の・・」に対し各々へページ移動できる様にしています。 3,フォームはデータ入力「データ入力用の設定は(いいえ)」用としても使って   いますので、フォームを開く際に最後のページではなく、次の無地のページに   なる様に設定しています。 4,2つの移動ボタン(前の・・と次の・・)のイベンドの設定内容。 ・1行目のマクロ設定:アクション「エラー時」、引数「次へ」 ・2行目のマクロ設定:アクション「レコードの移動」、引数「各々の移動先」 ・3行目のマクロ設定:アクション「メッセージボックス」、条件「[MacroError]   <>0」、引数「=[MacroError].[Description]」 5,2つの移動ボタン(先頭の・・と最後の・・)のイベンドの設定内容。 ・1行目のマクロ設定:アクション「レコードの移動」、引数「先頭の・・、最後   の・・」 以上ですが、宜しくお願いします。

  • ACCESS2000のフォームについて

    フォーム(←単票形式の)のデザインビューで、ツールボックスから、コマンドボタンウィザードを使い、コマンドボタンを作りましたが、ウィザードの最後のボタン名を指定するところで、漢字変換ができず、困っています。 いつもひらがなにしか入力が出来ないのですが、ここで直接漢字入力にするにはどういう処置をすればいいですか。 それから、追加の質問ですが、 作ったコマンドボタン(←レコード削除用)で、レコードを削除しようとしたところ、「リレーションシップが設定されたレコードが、テーブルにあるため、レコードの削除や変更を行えません。」と、エラーメッセージが表示されます。 レコードをフォームから削除するにはどうすればいいですか。 (※無理にしたいわけではないが、そういう命令も勉強の一環でして見たいのです。) 宜しくお願いします。

  • Accessのフォームから削除したレコードをテーブルに保存したい

    Accessを利用してフォームからデータを入力しているのですが、クエリを使わずフォーム画面から不必要なレコードをコマンドボタンで削除しています。削除したレコードをテーブルに保存したいのですが、追加クエリで条件を決めずにフォームの画面から判断したレコードだけを削除し、かつ削除したレコードを削除専用のテーブルに追加する方法を教えてください。よろしくお願いします。