2012-04-23 40 views
0

鏈接到主窗體最好的辦法我有10個標籤頁,其中一個子控件的每個選項卡主要形式。所有10個標籤作爲子表單開始,主表單只有一些附加控件,其中一個是主鍵。所有子表單的記錄源都包含此主鍵。顯示確定但不能添加新記錄,因爲主窗體上的記錄導航不允許移動到新記錄,並且主窗體上的新記錄按鈕不起作用。嘗試改變設計,以便第一個選項卡上的所有控件都是主窗體而不是子窗體的一部分。更改了所有子表單記錄集,以便它們不在查詢中包含PK,但僅通過主/子屬性進行鏈接。現在它可以讓我導航到新記錄(儘管它會在您嘗試輸入之前提示輸入新的ID參數),但不會讓我編輯現有記錄。Access 2007中的多個子窗體與標籤

那麼,什麼是做正確的方式?在子窗體上打開導航,但在主窗體上關閉了導航? PK作爲查詢recordource的一部分或不是?所有表單或好主意都有第一個選項卡作爲主表單的一部分?有什麼建議?

+0

我似乎記得你有一個使用ADO而不是簡單綁定表的非標準設置,這是正確的嗎?順便說一句,我永遠不會使用10個選項卡。使性能更好看起來就像使用選項卡一樣,只是根據需要加載子表單。 – Fionnuala 2012-04-23 14:40:13

+0

我通常會將子窗體控件留空,並在第一次選擇相應的選項卡時將窗體分配給「SourceObject」。 – 2012-04-23 17:20:37

+0

@Remou:不,所有窗體/子窗體控件都綁定到表。由於不同的子表單在不同的時間相關,我使用主窗體的On Load事件來爲子窗體控件設置SourceObject。 – Chelle 2012-04-24 08:25:36

回答

2

主記錄的主鍵(PK)應該與子記錄的外鍵(FK)匹配。

 
tblCustomer    tblOrder 
+----------------+  +----------------+ 
| PK CustomerID |1--+ | PK OrderID | 
+----------------+ | +----------------+ 
|    | +--∞| FK CustomerID | 
+----------------+  |    | 
         +----------------+ 

一個訂單窗體控制的Link Master Fields屬性必須CustomerID在該示例(在tblCustomer PK)和Link Child Fields屬性CustomerID以及(FK在tblOrder)。

相關問題