0

サブフォームをアクティブ化するときに、検証ルールが誤ってトリガーされるのに苦労しています。

MS Accessには、患者に関するデータを含むフォームがあります。このフォームには、この患者に属する医療機器の1つのレコードを含むサブフォームが含まれています。患者テーブルには[ID]フィールドがあり、医療機器テーブルには[PatientID]フィールドがあります。医療機器テーブルは、患者テーブルと1対多の関係にあります(1人の患者が多くの医療機器を持つことができます)。

サブフォームを含むフォームを開くと、サブフォームのForm_Load()メソッドが現在の日付などの特定のフィールドに入力します。

問題は次のとおりです。サブフォームの制御が(タブまたはクリックによって)アクティブ化されるとすぐに、医療機器テーブルの検証ルールがトリガーされます(1回だけ)。検証エラーメッセージを閉じた後、親フォームとサブフォームのコントロールを問題なく切り替えることができます。

メソッドからコードを削除すると、Form_Load()検証をトリガーせずにサブフォームのコントロールをアクティブ化できます。

親フォームとサブフォームの両方が、クエリではなくテーブルにリンクされています。

検証をトリガーせずにVBAを使用してサブフォームにデータを入力するにはどうすればよいですか?

4

1 に答える 1

1

実際のテキストではなく、デフォルト値を使用することをお勧めします。デフォルト値は、他のフィールドが入力されたときにのみ「実数」になります。

于 2013-03-27T10:51:24.963 に答える