窗口選擇就是我們點(diǎn)擊單元格或控件的編輯按鈕,然后彈出一個(gè)窗口,我們?cè)趶棾龃翱谥姓业讲⑦x擇我們要添加、填充的數(shù)據(jù),然后確定返回到表或控件中。這種數(shù)據(jù)規(guī)范的優(yōu)勢(shì)是,針對(duì)數(shù)據(jù)比較多的場(chǎng)景,選擇篩選出我們想要輸入的數(shù)據(jù)會(huì)比較方便,而且窗口選擇規(guī)范可以返回多列數(shù)據(jù)、多行數(shù)據(jù)、多行重復(fù)數(shù)據(jù),如果需要從非常多的清單中設(shè)置返回一個(gè)多值字段的效果的話,還是彈出窗口比較容易操作。
窗口選擇設(shè)定窗口
窗體名稱(chēng):彈出窗口的顯示標(biāo)題。
窗體標(biāo)題:彈出窗口的顯示標(biāo)題。
窗體寬:彈出窗口的寬。
窗體高:彈出窗口的高。
選擇模式:
1.查詢模式。此模式適合根據(jù)一個(gè)SQL語(yǔ)句返回一個(gè)明細(xì)表,僅作查詢使用。不返回任何值。
2.單選模式。此模式會(huì)根據(jù)一個(gè)SQL語(yǔ)句返回一個(gè)明細(xì),然后雙擊某一條記錄或者選擇相應(yīng)記錄,最后點(diǎn)擊確定,可以返回一條記錄。
3.不重復(fù)多選模式??梢赃x擇多條記錄,相同記錄不可以重復(fù)選擇。返回的結(jié)果會(huì)按照順序填入調(diào)用的表中,如果調(diào)用的表中記錄行數(shù)不夠填的話,會(huì)自動(dòng)添加相應(yīng)的行數(shù)。
4.可重復(fù)多選模式??梢赃x擇多條記錄,相同記錄可以重復(fù)選擇。返回的結(jié)果會(huì)按照順序填入調(diào)用的表中,如果調(diào)用的表中記錄行數(shù)不夠填的話,會(huì)自動(dòng)添加相應(yīng)的行數(shù)。
5.單列多值模式。此模式可以選擇多條記錄,最后返回的記錄用“,”逗號(hào)隔開(kāi),模擬多值字段的效果,只是這種窗體選擇的時(shí)候查詢、篩選、選擇會(huì)更靈活一點(diǎn)。記得自己設(shè)置返回列的時(shí)候,只能設(shè)置一列,要不然會(huì)出現(xiàn)意想不到的結(jié)果。
標(biāo)題表名:SQL語(yǔ)句生成的表可能是英文的,需要指定一個(gè)數(shù)據(jù)庫(kù)表,將相應(yīng)的英文字段翻譯成中文的。關(guān)于表標(biāo)題相關(guān)的內(nèi)容,可以參考“表及字段備注管理”。
返回列名:最終選擇后,需要哪幾個(gè)字段作為返回值。
接收窗體:這個(gè)只是在設(shè)置時(shí)有效,配合下面的接收表名,可以定位“接收列名”的下拉清單,方便設(shè)置“接收列名”。
接收表名:這個(gè)只是在設(shè)置時(shí)有效,配合上面的接收窗體,可以定位“接收列名”的下拉清單,方便設(shè)置“接收列名”。
接收列名:設(shè)置最終哪些字段需要接收返回的值,這里需要跟返回列的順序一一對(duì)應(yīng)。
控件模式:如果選擇此選項(xiàng),最終選擇的結(jié)果僅返回給調(diào)用此窗口的控件。
可編輯:如果選擇此選項(xiàng),右上角的“新增修改”按鈕會(huì)處于可用狀態(tài)。我們就可以按常規(guī)的表操作方式維護(hù)彈出窗口中的數(shù)據(jù),最后再選擇剛剛添加的數(shù)據(jù),方便了整個(gè)數(shù)據(jù)選擇流程中,源數(shù)據(jù)沒(méi)有我們想要的數(shù)據(jù)時(shí)的尷尬。
分頁(yè)加載:如果加載的數(shù)據(jù)比較多,可以考慮分頁(yè)加載。
來(lái)源窗體:當(dāng)需要采用已經(jīng)打開(kāi)的窗體中指定表字段清單或數(shù)據(jù)時(shí)需要設(shè)定。用來(lái)定位表。
來(lái)源表名:當(dāng)需要采用已經(jīng)打開(kāi)的窗體中指定表字段清單或數(shù)據(jù)時(shí)需要設(shè)定。用來(lái)定位表。
僅返回字段清單:此選項(xiàng)用在一些需要引用選擇某些表的字段清單時(shí)。比如:我們可以想獲得一個(gè)數(shù)據(jù)庫(kù)表的所有字段清單,方便我們指定一些參數(shù)。我們還可以獲得已經(jīng)打開(kāi)的窗體中指定表的字段。我們還可以獲得一段SQL語(yǔ)句返回的表中包含的字段清單。
僅返回?cái)?shù)據(jù)源表清單:此選項(xiàng)用在一些需要引用選擇某數(shù)據(jù)源中所有表及視圖的清單時(shí)。
自動(dòng)填充數(shù)據(jù)策略:
1、AutoFillAndSelect:就是既包含從窗口選擇的功能,也保留輸入編號(hào)自動(dòng)查詢并填充其他列的功能。比如我們?cè)谶@個(gè)產(chǎn)品編號(hào)上做了一個(gè)窗口選擇規(guī)范。正常我們是直接從彈出窗口中選擇。但是,又想直接輸入產(chǎn)品編號(hào)然后將其他信息帶出來(lái),就可以用這種填充策略。
2、Diabled:就是禁用輸入編號(hào)自動(dòng)查詢并填充其他列的功能。
3、OnlyAutoFill:就是禁用從窗口選擇的功能,僅保留輸入編號(hào)自動(dòng)查詢并填充其他列的功能。
窗口選擇的典型應(yīng)用場(chǎng)景
窗口選擇數(shù)據(jù)規(guī)范被設(shè)計(jì)成了一個(gè)通用的、多用途的模塊。咱們既可以輸入數(shù)據(jù)時(shí)使用,也可以在查詢簡(jiǎn)單數(shù)據(jù)時(shí)使用。下面列舉一下窗口選擇的一些典型使用場(chǎng)景(根據(jù)彈出窗口中數(shù)據(jù)類(lèi)型區(qū)分)。
1、臨時(shí)數(shù)據(jù)。用來(lái)顯示臨時(shí)數(shù)據(jù),比如數(shù)據(jù)透視表的原數(shù)據(jù)。
2、表字段清單。選擇已打開(kāi)的窗體中指定表字段清單。
3、表不重復(fù)清單。選擇已打開(kāi)的窗體中指定表中部分字段的不重復(fù)清單。
4、數(shù)據(jù)庫(kù)表清單。選擇指定數(shù)據(jù)庫(kù)所有的表及視圖的清單。
5、SQL查詢結(jié)果。選擇從指定數(shù)據(jù)庫(kù)運(yùn)行指定SQL查詢語(yǔ)句返回的數(shù)據(jù)。