使用 Required 屬性可以指定字段中是否必須有值。如果該屬性設(shè)為“是”,則在記錄中輸入數(shù)據(jù)時(shí),必須在該字段或綁定到該字段的任何控件中輸入數(shù)值,而且該數(shù)值不能為 Null。例如,需要確?!靶帐稀笨丶?duì)每一條記錄都有一個(gè)值。如果允許在字段中出現(xiàn) Null 值時(shí),不僅需要將 Required 屬性設(shè)為“否”,而且如果已經(jīng)對(duì) ValidationRule 屬性進(jìn)行了設(shè)置,還必須明確地指出“validationrule 或輸入了 Null 值”。
注釋 Required 屬性不能應(yīng)用于“自動(dòng)編號(hào)”字段。
Required 屬性使用以下設(shè)置:
設(shè)置 |
Visual Basic |
說(shuō)明 |
是 |
True (-1) |
該字段需要值。 |
否 |
False (0) |
(默認(rèn)值)該字段不需要值。 |
可以使用表的屬性表或 Visual Basic 來(lái)設(shè)置所有表字段的這一屬性(“自動(dòng)編號(hào)”類型字段除外)。
注釋 若要在 Visual Basic 中訪問(wèn)某一字段的 Required 屬性,請(qǐng)使用 DAO Required 屬性。
Required 屬性由 Microsoft Jet 數(shù)據(jù)庫(kù)引擎在表級(jí)別實(shí)施。如果將該屬性設(shè)為“是”,該字段在獲得焦點(diǎn)時(shí),必須接收數(shù)值或已經(jīng)包含了一個(gè)數(shù)值。獲得焦點(diǎn)的情況包括:用戶在表(或基于該表的窗體或數(shù)據(jù)表)中輸入數(shù)據(jù)時(shí)、使用宏或 Visual Basic 為字段設(shè)置值時(shí),或?qū)?shù)據(jù)導(dǎo)入表時(shí)。
可以使用 Required 及 AllowZeroLength 屬性區(qū)分不存在信息(在字段中保存為零長(zhǎng)度字符串(" ") )與可能存在但信息未知這兩種情況(在字段中保存為 Null 值)。如果將 AllowZeroLength 屬性設(shè)為“是”,無(wú)論 Required 屬性如何設(shè)置,零長(zhǎng)度字符串都是字段中的有效輸入項(xiàng)。如果將 Required 設(shè)為“是”,而 AllowZeroLength 設(shè)為“否”,則必須在字段中輸入值,而且零長(zhǎng)度字符串不是有效輸入項(xiàng)。
輸入掩碼Null
下表顯示的是 Required 與 AllowZeroLength 屬性設(shè)置組合所得的結(jié)果。
Required |
AllowZeroLength |
用戶的操作 |
保存的值 |
否 |
否 |
按 Enter 按空格鍵 輸入零長(zhǎng)度字符串 |
Null Null (不允許) |
否 |
是 |
按 Enter 按空格鍵 輸入零長(zhǎng)度字符串 |
Null Null 零長(zhǎng)度字符串 |
是 |
否 |
按 Enter 按空格鍵 輸入零長(zhǎng)度字符串 |
(不允許) (不允許) (不允許) |
是 |
是 |
按 Enter 按空格鍵 輸入零長(zhǎng)度字符串 |
(不允許) 零長(zhǎng)度字符串 零長(zhǎng)度字符串 |
如果將表中一個(gè)已包含數(shù)據(jù)的字段其 Required 屬性設(shè)為“是”,Microsoft Access 將給予一個(gè)可選項(xiàng)以檢查在該字段的所有存在記錄中是否含有值。不過(guò),如果現(xiàn)有記錄的該字段中含有 Null 值,仍然可以要求在所有新記錄的字段中必須輸入值。
注釋 若要在不允許 Null 值的關(guān)聯(lián)表之間實(shí)施關(guān)系,請(qǐng)將相關(guān)表中外鍵字段的 Required 屬性設(shè)為“是”。這樣 Jet 數(shù)據(jù)庫(kù)引擎將確保在子表中創(chuàng)建記錄之前,父表中一定有相關(guān)記錄。如果外鍵字段是子表主鍵的一部分,這就沒(méi)必要設(shè)置該屬性,因?yàn)橹麈I字段不允許包含 Null 值。