2011-10-31 15 views
0

私は参照整合性制約と1-Mの関係でリンクされた2つのテーブルを持つ非常に単純なアクセスデータベースを持っています。私は2つの形式でデータを管理したいと考えています。最初のテーブルは、最初のテーブルの各レコードを示し、最初のテーブルがプライマリキーを記録する値で参照フィールドを跨ぐレコードのみを表示する2番目のフォームを開くボタンを提供します。ACCESS SubForm:レコードを追加しようとしています

問題は、私が参照として使用するレコードフィールドがプライマリテーブルのキーに含まれている値で設定されていないと警告されている、2番目のフォームに新しいレコードを追加しようとした場合です。しかし、私は新しいレコードを追加しようとしたときにこれがFormによって自動的に行われると思っていましたか?

これはどのように修正する必要がありますか?

答えて

2

私が正しく理解している場合は、いくつかのフィルタリング基準を使用して独立した第2のフォーム(実際にはサブフォームではありません)を開きます。

  1. が第二を開くとき
  2. DoCmd.OpenFormOpenArgs引数としてで外部キーの値を渡し、外部キーフィールドにバインドされた第二のフォームに隠しフィールドを追加します。これを処理する1つの方法は次のようになりますフォームFORM_OPENイベントで
  3. 、OpenArgsに等しい隠された外部キーフィールドののDefaultValueが、手順2(Me.HiddenKeyField.DefaultValue = Me.OpenArgs)に渡された値に設定

他のオプションは、第二の形式にのサブフォームを作ることですfi最初。それを行うための最も簡単な方法は次のとおりです。

  1. は、サブフォームのプロパティにアクセスし、設定された第1の形式のビューを設計し、
  2. その後、最初のフォームに、データベースウィンドウから2番目のフォームをドラッグして行きます子フィールド/リンクマスターフィールドを外部キーフィールドと同じにする
+0

ありがとう、本当に助けになりました – Sindico

関連する問題