Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


683 / 9994 ←次へ | 前へ→

【12621】Re:2つのテーブルに同時にレコードを追加したい。
回答  かるびの  - 14/10/15(水) 21:59 -

引用なし
パスワード
   >新入生の算数の成績を入力しなければならなくなり、[算数テストの結果]フォーム上にレ
>コードを追加しなければならないとします。

>[学級名簿]テーブルと[算数成績]テーブルの2つにレコードを追加したいのですがどのよ
>うなスクリプトで行えばいいでしょうか。

 「学級名簿」テーブルからの全レコードと
「算数成績」の同じ結合フィールドのレコードだけを含めた選択クエリを「Q01」とすると、
コードの概要は、
   「学級名簿」テーブルへの追加クエリ
   「算数成績」テーブルへの追加クエリ
   「Q01」の再クエリ
となります。
 しかし、「算数テストの結果」フォームは連結フォームなので、
上記コードを実行すると、
新規に登録しようとしたレコードが、
フォームによっても登録されようとし、
追加クエリによっても登録されようとして、
レコードの新規登録が競合してしまうというエラーになってしまいます。
 そのため、上記コードによるのは、やめた方がいいと思います。

 では、どうするかですが、第1案としては、
データベースでは、レコードを表示するフォームと
レコードを新規入力するフォームとは、別のフォームにするという構成をしばしばとるので、
レコード表示用フォームと新規登録用フォームとに分けるという方法が考えられます。

 第2案としては、
「学級名簿」テーブルと「算数成績」テーブルとは一対多の関係に立つと思うので、
「算数テストの結果」フォームを、サブフォームを利用したフォームにする
という方法が考えられます。
 この場合、メインフォームには「学級名簿」テーブルのデータを表示し、
サブフォームには「算数成績」テーブルのデータを表示することになります。

225 hits

【12619】2つのテーブルに同時にレコードを追加したい。 ポインセチア 14/10/10(金) 9:11 質問[未読]
【12621】Re:2つのテーブルに同時にレコードを追加... かるびの 14/10/15(水) 21:59 回答[未読]
【12638】Re:2つのテーブルに同時にレコードを追加... ポインセチア 14/11/12(水) 18:29 お礼[未読]

683 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078189
(SS)C-BOARD v3.8 is Free