0

10 個のタブを持つメイン フォームがあり、各タブには 1 つのサブフォーム コントロールがあります。10 個すべてのタブをサブフォームとして開始し、メイン フォームにはいくつかの追加コントロールしかなく、そのうちの 1 つが主キーです。すべてのサブフォームのレコードソースには、この主キーが含まれていました。OK と表示されますが、メイン フォームのレコード ナビゲーションが新しいレコードへの移動を許可せず、メイン フォームの新しいレコード ボタンが機能しないため、新しいレコードを追加できません。最初のタブのすべてのコントロールがサブフォームではなくメイン フォームの一部になるようにデザインを変更してみました。すべてのサブフォーム レコードセットを変更して、クエリに PK を含めず、マスター/子プロパティのみを介してリンクするようにしました。これで、新しいレコードに移動できます (ただし、新しい ID パラメーターを入力しようとする前にプロンプ​​トが表示されます) が、既存のレコードを編集することはできません。

それで、それを行う正しい方法は何ですか?サブフォームのナビゲーションを記録しますが、メイン フォームではオフになっていますか? レコードソースのクエリの一部としての PK かどうか? すべてのサブフォームまたはメイン フォームの一部として最初のタブを使用することをお勧めしますか? 何かアドバイス?

4

1 に答える 1

2

メイン レコードの主キー (PK) は、子レコードの外部キー (FK) と一致する必要があります。

tblCustomer tblOrder
+----------------+ +----------------+
| | PK CustomerID |1--+ | PK オーダー ID |
+----------------+ | +----------------+
| | | | +--∞| FK CustomerID |
+----------------+ | | |
                         +----------------+

Link Master Fieldsorder-subform-controlのプロパティはCustomerID、この例では (tblCustomer の PK) である必要があり、Link Child FieldsプロパティCustomerIDも (tblOrder の FK) である必要があります。

于 2012-04-23T14:40:16.500 に答える