マイクロソフトアクセスで広がる世界

アクセスのTIPS集

サブフォームにレコードを追加するために別フォームを使う方法

解説

メインフォームにリンクしているサブフォームに新しいレコードを追加する場合で、サブフォームが表示専用になっていると 直接追加できない。そこで追加入力用フォームを使うことになるが、追加したレコードがメインフォームのレコードにリンクされなければ ならない。リンクの方法はコントロールの規定値を使うことだ。規定値をメインフォームのリンクしているコントロールを参照する ように設定する。

手順

  1. 入力用フォームの作成
    ア.サブフォームと同じレコードソースにした単票式のフォームを作成する。
    イ.リンクしているコントロールの規定値のプロパティにメインフォームの主キーとなっているコントロールの値を指定する。
     (例) =[Forms]![F_メインフォーム]![番号]
    ウ.データ入力用プロパティを「はい」に設定
  2. メインフォーム上にコマンドボタンを作成する。
    ア.コマンドボタンに作成したフォームを開くマクロかプロシージャを設定する。
  3. 動作させてみる。
    ア.コマンドボタンで入力用フォームを開く。
    イ.リンクしているコントロールにはメインフォームと同じ値が表示されている。
    ウ.フォームに必要な入力を行い。フォームを閉じればレコードの追加が完了する。但し、この状態ではサブフォームの 表示は変化しない。閉じたときに表示させるには、プロシージャにサブフォームのRequeryメソッドを書き込む。

(この項終わり)