使用 LinkMasterFields 和 LinkChildFields 屬性,可以指定 Microsoft Access 如何將窗體或報表中的記錄鏈接到子窗體、子報表或嵌入對象(例如圖表)中的記錄上。如果設(shè)置了這兩個屬性,則當(dāng)轉(zhuǎn)到主窗體的一個新記錄時,Microsoft Access 將自動更新子窗體中的相關(guān)記錄。String 型,可讀寫。
expression.LinkMasterFields
expression 必需。返回“應(yīng)用于”列表中的一個對象的表達(dá)式。
子窗體、子報表或嵌入對象的 LinkChildFields 和 LinkMasterFields 屬性的設(shè)置方式如下:
? | LinkChildFields 屬性。輸入的是子窗體、子報表或嵌入對象中一個或多個鏈接字段的名稱。 |
? | LinkMasterFields 屬性。輸入的是主窗體或主報表中一個或多個鏈接字段或控件的名稱。 |
單擊屬性表中屬性框右側(cè)的“生成器”按鈕,便可使用“子窗體/子報表字段鏈接器”設(shè)置這些屬性。
也可以在宏或 Visual Basic 中使用一個字符串表達(dá)式設(shè)置這些屬性設(shè)置。
這兩個屬性僅可以在“設(shè)計”視圖中或者窗體或報表的 Open 事件執(zhí)行過程中進(jìn)行設(shè)置。
用于設(shè)置這兩個屬性的字段或控件不需要有相同的名稱,但必須包含相同的數(shù)據(jù)類型,并且其數(shù)據(jù)類型和字段大小必須是相同或相兼容的。例如,如果“數(shù)字”字段的 FieldSize 屬性設(shè)為 Long Integer,則“自動編號”字段和“數(shù)字”字段是相兼容的。
可以使用控件的名稱(包括計算控件的名稱)來設(shè)置 LinkMasterFields 屬性,但不能使用控件名稱設(shè)置 LinkChildFields 屬性。如果要使用一個計算值作為子窗體、子報表或嵌入對象的鏈接,可以在子對象的基礎(chǔ)查詢中定義一個計算字段,并為該字段設(shè)置 LinkChildFields 屬性。
當(dāng)為這兩個屬性的設(shè)置指定多個字段或控件的名稱時,則必須為每一屬性設(shè)置輸入相同數(shù)目的字段或控件名稱,并在名稱之間使用分號 (;) 進(jìn)行分隔。
如果通過從“數(shù)據(jù)庫”窗口中將窗體或報表拖到另一個窗體或報表中,或使用“窗體向?qū)А眮韯?chuàng)建子窗體或子報表,則 Microsoft Access 按照下列情況自動對 LinkChildFields 和 LinkMasterFields 屬性進(jìn)行設(shè)置:
? | 主窗體或主報表及其子對象的創(chuàng)建是基于表的,并且這些表之間的關(guān)系已經(jīng)使用“關(guān)系”命令進(jìn)行定義。Microsoft Access 將兩個表的字段作為表的鏈接字段。 |
? | 主窗體或主報表的創(chuàng)建是基于帶有主鍵的表,并且其子窗體或子報表的創(chuàng)建是基于包含與主鍵名稱相同且數(shù)據(jù)類型與主鍵相同或相兼容的一個字段的表或查詢。Microsoft Access 使用主對象基礎(chǔ)表中的主鍵和子對象基礎(chǔ)表或基礎(chǔ)查詢中同一名稱的字段作為鏈接字段。 |
注釋 鏈接字段不需要包含到主對象或子對象中。只要這些字段包含在對象的基礎(chǔ)表或基礎(chǔ)查詢中,就可以使用這些字段鏈接對象。如果使用的是向?qū)?,Microsoft Access 將自動包含所有的鏈接字段。