版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
設(shè)置表間關(guān)聯(lián)關(guān)于表間關(guān)聯(lián)
易表可以在表與表之間建立關(guān)聯(lián),例如在訂單管理系統(tǒng)中,通常包括客戶、產(chǎn)品、定單三個(gè)表,其中每個(gè)訂單都對(duì)應(yīng)著一個(gè)客戶和一個(gè)產(chǎn)品,如果我們能夠在客戶與訂單、產(chǎn)品與訂單之間建立某種關(guān)聯(lián),那么相互之間可以互相引用和定位,例如訂單可以引用產(chǎn)品表中的單價(jià)數(shù)據(jù)來計(jì)算金額,而選擇某一個(gè)產(chǎn)品或某一個(gè)客戶,也可以快速找到所有對(duì)應(yīng)的訂單。
設(shè)置表間關(guān)聯(lián)
在表菜單上,單擊“表間關(guān)聯(lián)”,啟動(dòng)表間關(guān)聯(lián)設(shè)置窗口。添加關(guān)聯(lián)
單擊“添加”,選擇要建立關(guān)聯(lián)的表,指定用于關(guān)聯(lián)的列。左表和右表并沒有區(qū)別,任何一個(gè)表都可以作為左表,也可以作為右表。刪除關(guān)聯(lián)
選擇要?jiǎng)h除的關(guān)聯(lián),單擊刪除。定位關(guān)聯(lián)記錄利用表間關(guān)聯(lián),我們可以在其他表中快速定位相關(guān)的記錄。例如在一個(gè)訂單管理系統(tǒng)中,如果已經(jīng)在訂單表和產(chǎn)品表之間通過產(chǎn)品編號(hào)建立關(guān)聯(lián),那么在訂單表中,一旦選擇某一訂單,產(chǎn)品表會(huì)自動(dòng)顯示對(duì)應(yīng)產(chǎn)品的詳細(xì)資料;反之一旦在產(chǎn)品表中選擇某一產(chǎn)品,訂單表也會(huì)自動(dòng)顯示該產(chǎn)品對(duì)應(yīng)的第一條訂單,由于同一產(chǎn)品可能有多條訂單,如果要顯示該產(chǎn)品對(duì)應(yīng)的所有訂單,可以首先將訂單表根據(jù)產(chǎn)品編號(hào)進(jìn)行排序。查看關(guān)聯(lián)表數(shù)據(jù)在“表”菜單中,指向“顯示關(guān)聯(lián)表”,會(huì)列出所有和當(dāng)前表有關(guān)聯(lián)的表,單擊這些關(guān)聯(lián)表,即可在主窗口的下方顯示關(guān)聯(lián)表,而且這些關(guān)聯(lián)表只會(huì)顯示和當(dāng)前表的當(dāng)前記錄有關(guān)聯(lián)的數(shù)據(jù)。下列圖是一個(gè)入庫管理系統(tǒng),入庫單表和入庫明細(xì)表通過“入庫單編號(hào)”建立關(guān)聯(lián),每個(gè)入庫單記錄在入庫明細(xì)表中對(duì)應(yīng)有多個(gè)記錄,這是一種典型的父子關(guān)系。為便于管理,我們通常選擇入庫單表〔父子關(guān)系中的父方〕進(jìn)行操作,在“表”菜單中指向“顯示關(guān)聯(lián)表”,單擊“入庫明細(xì)”,既可如下列圖所示在主窗口下方顯示入庫明細(xì)表,而且這個(gè)入庫明細(xì)表只會(huì)顯示屬于當(dāng)前入庫單的數(shù)據(jù)。如上圖所示,右擊入庫明細(xì)表,通過快捷菜單,你可以增加、插入或刪除行,還可以打印報(bào)表。
你也可以通過以下快捷鍵對(duì)關(guān)聯(lián)表進(jìn)行操作:
Ctrl+A
增加一行
Ctrl+I
插入一行
Ctrl+Del
刪除行在關(guān)聯(lián)表中增加行,其關(guān)聯(lián)列內(nèi)容會(huì)自動(dòng)輸入。例如上圖中,在入庫明細(xì)表增加一行后,新增行的入庫單編號(hào)等于入庫表當(dāng)前行的入庫單編號(hào)。引用關(guān)聯(lián)數(shù)據(jù)如果已經(jīng)在兩個(gè)表之間建立關(guān)聯(lián),那么就可以在公式中互相引用數(shù)據(jù),要引用關(guān)聯(lián)表中的數(shù)據(jù),必須同時(shí)指定表名和列名,表名和列名之間用符號(hào)“!”隔開,例如:[產(chǎn)品!單價(jià)]1、關(guān)聯(lián)計(jì)算例如在一個(gè)訂單管理系統(tǒng)中,如果已經(jīng)在訂單表和產(chǎn)品表之間通過產(chǎn)品編號(hào)建立關(guān)聯(lián),可以將訂單表中金額列的刷新公式設(shè)為:[數(shù)量]*[產(chǎn)品!單價(jià)]*(1-[折扣])這樣我們一旦在訂單表輸入訂購產(chǎn)品數(shù)量和折扣,易表就會(huì)自動(dòng)調(diào)用產(chǎn)品表中對(duì)應(yīng)的產(chǎn)品單價(jià),然后計(jì)算出金額。2、自動(dòng)輸入如果訂單表和產(chǎn)品表都包括產(chǎn)品編號(hào)、產(chǎn)品名稱兩列,而產(chǎn)品表已經(jīng)錄入所有的產(chǎn)品編號(hào)和產(chǎn)品名稱,我們希望在訂單表中只需輸入產(chǎn)品編號(hào),對(duì)應(yīng)的產(chǎn)品名稱即可自動(dòng)輸入。為實(shí)現(xiàn)上述目的,首先在訂單表和產(chǎn)品表之間通過產(chǎn)品編號(hào)建立關(guān)聯(lián),然后將訂單表中的產(chǎn)品列的刷新公式設(shè)為:[產(chǎn)品!產(chǎn)品名稱],設(shè)置完成之后,即可象我們希望的那樣,訂單表只需輸入產(chǎn)品編號(hào),產(chǎn)品名稱即可自動(dòng)輸入。RelationRow變量當(dāng)進(jìn)行關(guān)聯(lián)計(jì)算時(shí),可以用RelationRow變量判斷關(guān)聯(lián)表中是否存在關(guān)聯(lián)行(記錄),如果存在,那么返回關(guān)聯(lián)行的位置,否那么返回-1。例如,在訂單管理的時(shí)候,訂單表和產(chǎn)品表通過產(chǎn)品編號(hào)建立關(guān)聯(lián),在訂單表中輸入某個(gè)產(chǎn)品編號(hào),如果產(chǎn)品表中存在對(duì)應(yīng)該編號(hào)的產(chǎn)品,那么產(chǎn)品名稱和單價(jià)自動(dòng)調(diào)用產(chǎn)品表中的數(shù)據(jù),否那么由用戶自己輸入。那么在訂單表中,產(chǎn)品列和單價(jià)列的公式應(yīng)該分別設(shè)為:
if([產(chǎn)品!RelationRow]=-1,[產(chǎn)品名稱],[產(chǎn)品!產(chǎn)品名稱])
if([產(chǎn)品!RelationRow]=-1,[單價(jià)],[產(chǎn)品!單價(jià)])統(tǒng)計(jì)關(guān)聯(lián)表的數(shù)據(jù)關(guān)聯(lián)表之間通常還存在某種統(tǒng)計(jì)關(guān)系,例如下列圖是一個(gè)入庫管理系統(tǒng),入庫單表和入庫明細(xì)表通過“入庫單編號(hào)”建立關(guān)聯(lián),入庫單表中的金額等于入庫明細(xì)表中各行金額之和。為了自動(dòng)計(jì)算入庫單表的金額,只需該列的刷新公式設(shè)為:
SumFor("入庫明細(xì)","金額","入庫單編號(hào)","=",[入庫單編號(hào)])設(shè)置上述公式后,修改關(guān)聯(lián)表(入庫明細(xì)表)中的數(shù)據(jù),入庫單表會(huì)自動(dòng)求出總的金額。需要注意的是,只有在入庫單表作為主表,入庫明細(xì)表作為關(guān)聯(lián)表顯示的情況下,入庫單的金額才會(huì)自動(dòng)計(jì)算。自動(dòng)重算關(guān)聯(lián)表在默認(rèn)的情況下,如果某一列的刷新公式引用了關(guān)聯(lián)表中的數(shù)據(jù),那么關(guān)聯(lián)表中的數(shù)據(jù)被修改之后,刷新公式并不會(huì)重新計(jì)算,要得到最新的計(jì)算結(jié)果,必須在“表”菜單中,單擊“重算全表”。例如在產(chǎn)品表中修改單價(jià),那么訂單表中只有新增行〔或被重新修改數(shù)據(jù)的行〕才會(huì)采用新單價(jià)計(jì)算金額,如果希望已經(jīng)輸入的數(shù)據(jù)也采用新單價(jià)重算金額,必須在“表”菜單中,單擊“重算全表”??墒呛芏鄷r(shí)候,我們希望修改主表中的數(shù)據(jù),關(guān)聯(lián)表的數(shù)據(jù)能夠自動(dòng)更新,怎樣實(shí)現(xiàn)呢?很簡(jiǎn)單。方法一
例如下列圖,修改產(chǎn)品表的單價(jià),希望訂單表的單價(jià)自動(dòng)更新為新的單價(jià),為達(dá)次目的,可以按照如下步驟進(jìn)行設(shè)置:
1、選擇產(chǎn)品表的“單價(jià)”列,在“列”菜單上,單擊“操作公式”
2、將“單價(jià)列”的操作公式設(shè)為:RecalcRGrid("訂單表")
經(jīng)過上述設(shè)置,即可實(shí)現(xiàn)在產(chǎn)品表修改某個(gè)產(chǎn)品的單價(jià),訂單表中對(duì)應(yīng)產(chǎn)品的單價(jià)會(huì)自動(dòng)更新為最新的單價(jià)。RecalcRGrid函數(shù)用于重算關(guān)聯(lián)表,而且僅僅重算已經(jīng)顯示出來的關(guān)聯(lián)表〔主界面和錄入窗口均可〕。普通用戶可以暫時(shí)忽略下面的方法。
方法二:
方法一必須產(chǎn)品表和訂單表同時(shí)可見,而且訂單表是作為關(guān)聯(lián)表出現(xiàn)的情況下才能有效,如果我們希望不管訂單表是否可見,修改產(chǎn)品表的單價(jià),訂單表的單價(jià)都可以自動(dòng)更新為新的單價(jià),只需按如下步驟設(shè)置。
1、選擇產(chǎn)品表的“單價(jià)”列,在“列”菜單上,單擊“操作公式”
2、將“單價(jià)列”的操作公式設(shè)為:
ReplaceFor("訂單表","單價(jià)",[單價(jià)],"產(chǎn)品名稱","=",[產(chǎn)品名稱])
3、或者將“單價(jià)列”的操作公式設(shè)為:
RecalColFor("訂單表","單價(jià)","產(chǎn)品名稱","=",[產(chǎn)品名稱])
前提是訂單表的單價(jià)列的刷新公式設(shè)為:[產(chǎn)品表!單價(jià)]方法三
如果希望不管訂單表處于主表狀態(tài)還是關(guān)聯(lián)表狀態(tài)的情況,修改訂單表中的數(shù)量列,產(chǎn)品表中的總數(shù)量和金額都可以即時(shí)刷新,可按照如下步驟設(shè)計(jì):
1、選擇產(chǎn)品表,將總數(shù)量、總金額的刷新公式分別設(shè)為:
SumFor("訂單","數(shù)量","產(chǎn)品名稱","=",[產(chǎn)品名稱])
SumFor("訂單","金額","產(chǎn)品名稱","=",[產(chǎn)品名稱])
2、選擇訂單表,將其數(shù)量列的操作公式設(shè)為:
if([產(chǎn)品表!RelationRow]>0,RecalcRow("產(chǎn)品表",[產(chǎn)品表!RelationRow]),True)
也可以設(shè)為:
if([產(chǎn)品表!RelationRow]>0,RecalcCell("產(chǎn)品表",[產(chǎn)品表!RelationRow],"總數(shù)量")AndRecalcCell("產(chǎn)品表",[產(chǎn)品表!RelationRow],"總金額"),True)公式的理解請(qǐng)參考ReplaceFor、RecalcColFor、RecalcCell、操作公式根據(jù)多列建立關(guān)聯(lián)有的時(shí)候單單靠某一列是不能唯一區(qū)分某行數(shù)據(jù)的,例如在訂單管理系統(tǒng)中,可能需要同時(shí)用品名和規(guī)格來區(qū)分一個(gè)產(chǎn)品,此時(shí)我們需要在訂單表和產(chǎn)品表之間同時(shí)建立兩個(gè)關(guān)聯(lián),一個(gè)關(guān)聯(lián)基于品名,另一個(gè)關(guān)聯(lián)基于規(guī)格。多個(gè)關(guān)聯(lián)的使用和前面提到的單個(gè)關(guān)聯(lián)并沒有什么不同,在此就不多講了。父子關(guān)聯(lián)在設(shè)置關(guān)聯(lián)的時(shí)候,如果關(guān)聯(lián)表之間是父子關(guān)系,只需選擇“父子”選項(xiàng)即可。什么是父子關(guān)系呢?父子關(guān)系也叫一對(duì)多關(guān)系,例如對(duì)于產(chǎn)品表和訂單明細(xì)表,訂單明細(xì)表中的每一條記錄只能對(duì)應(yīng)產(chǎn)品表中的一個(gè)產(chǎn)品〔記錄〕,而每一個(gè)產(chǎn)品在訂單明細(xì)中可能對(duì)應(yīng)有多個(gè)記錄〔訂單〕,就像一個(gè)父親可以有多個(gè)兒子,而一個(gè)兒子只能有一個(gè)父親一樣,所以這種關(guān)系稱之為父子關(guān)系。在設(shè)置關(guān)聯(lián)的時(shí)候,“父”指的是左表,“子”指的是“右表”,所以對(duì)于父子關(guān)聯(lián),左表和右表的位置千萬不能搞錯(cuò)。對(duì)于父子關(guān)系的表,如果子表存在對(duì)應(yīng)記錄,父表中的對(duì)應(yīng)記錄將不能被刪除,出于平安考慮,父表中的記錄每次只能刪除一行。再談關(guān)聯(lián)計(jì)算
前面已經(jīng)說過,如果已經(jīng)在兩個(gè)表之間建立關(guān)聯(lián),那么就可以在公式中互相引用數(shù)據(jù),例如在一個(gè)訂單管理系統(tǒng)中,如果已經(jīng)在訂單表和產(chǎn)品表之間通過產(chǎn)品編號(hào)建立關(guān)聯(lián),那么訂單表可以調(diào)用產(chǎn)品表中的單價(jià)計(jì)算金額,其金額列的刷新公式為:
[數(shù)量]*[產(chǎn)品!單價(jià)]*(1-[折扣])
如果修改了產(chǎn)品表中的單價(jià),那么新增訂單會(huì)采用新單價(jià)計(jì)算金額,原有的訂單并不會(huì)采用新單價(jià)重新計(jì)算金額。但是如果修改原有的某一訂單,該訂單會(huì)采用新單價(jià)重新計(jì)算金額,如果執(zhí)行重算全表命令,那么原來所有的訂單都會(huì)采用新單價(jià)重新計(jì)算金額。
現(xiàn)在的問題是,原來的訂單有可能要修改,但是又希望采用原單價(jià),而且原有訂單可能局部希望采用原單價(jià),局部采用新單價(jià),按照上述的方法,顯然不可能實(shí)現(xiàn)這些要求,必須拓展一下思路:哪些訂單采用新單價(jià),哪些訂單采用舊單價(jià),計(jì)算機(jī)并不知道,所以最好增加一個(gè)標(biāo)志列〔姑且稱之為“標(biāo)志”列吧〕,將標(biāo)志列的類型設(shè)為邏輯型,如果斷定某些訂單永久性地采用原單價(jià)計(jì)算金額,那么在標(biāo)志列打勾〔其值將為-1〕。
對(duì)于某些訂單永久性地采用原單價(jià)計(jì)算金額,那么以后修改產(chǎn)品表中的單價(jià)后,如何直觀地知道這些訂單所采用的單價(jià)呢?所以最好還是在訂單表中增加一個(gè)“單價(jià)”列。
將訂單表的單價(jià)列的刷新公式設(shè)為:if([標(biāo)志]=-1,[單價(jià)],[產(chǎn)品!單價(jià)])。這個(gè)公式的含義是:如果標(biāo)志列的值為-1,那么單價(jià)不變,否那么刷新為產(chǎn)品表中的單價(jià)。
最后將產(chǎn)品表中金額列的計(jì)算公式改為:[數(shù)量]*[單價(jià)]*(1-[折扣])
因?yàn)樗⑿鹿绞菑淖蟮接矣?jì)算的,顯然對(duì)于訂單表,應(yīng)該先計(jì)算單價(jià),后計(jì)算金額,所以應(yīng)該將單價(jià)列置于金額列之前。如果你不希望設(shè)置標(biāo)志列,只是希望輸入訂單的產(chǎn)品名稱后,自動(dòng)從產(chǎn)品表中調(diào)入該產(chǎn)品的單價(jià),之后該訂單的單價(jià)不再和產(chǎn)品表中的單價(jià)有任何關(guān)系,而且可以手工修改這個(gè)單價(jià),那么只需將訂單表中單價(jià)列的公式設(shè)為:if([單價(jià)]>0,[單價(jià)],[產(chǎn)品!單價(jià)])。這個(gè)公式的含義是,如果單價(jià)大于0,那么單價(jià)保持不變,否那么從產(chǎn)品表中取得單價(jià)。FindText在指定的表、指定的列中查找指定內(nèi)容,并返回符合條件的行中指定列的內(nèi)容。語法:
FindText(Grid,Col,CompareCol,CompareMode,CompareValue,......,Position)
Grid
在表中進(jìn)行查找,可以用表名表示,也可以用位置表示。
Col
返回該列的內(nèi)容,可以用列名稱表示,也可以用位置表示。
CompareCol
進(jìn)行比擬的列,可以用列名稱表示,也可以用位置表示。
CompareMode
比擬方式,包括=、>、<、>=、<=、<>、Like、Instr共8種比擬方式。
CompareValue
比擬值
Position
這個(gè)參數(shù)決定返回第幾個(gè)符合條件的行的數(shù)據(jù),如果省略,那么返回第一個(gè)符合條件的行中指定列的內(nèi)容??梢栽O(shè)置多個(gè)比擬條件,從第三個(gè)參數(shù)開始,每三個(gè)參數(shù)組成一個(gè)比擬條件。如果比擬方式選擇的是Instr,那么進(jìn)行包含查詢;如果比擬方式選擇"Like",那么可以在比擬值中使用通配符進(jìn)行類似查詢。例子:
FindText("訂單","數(shù)量","客戶","=","CS01")
返回訂單表中CS01客戶的第一個(gè)訂單的訂購數(shù)量。FindText("訂單","數(shù)量","客戶","=","CS01","產(chǎn)品","=","PD01")
返回訂單表中CS01客戶第一次訂購產(chǎn)品PD01的數(shù)量。FindText("訂單","數(shù)量","客戶","=","CS01","產(chǎn)品","=","PD01",2)
返回訂單表中CS01客戶第二次訂購產(chǎn)品PD01的數(shù)量。利用FindText函數(shù),我們可以在不建立表間關(guān)聯(lián)的情況下引用其他表中有關(guān)聯(lián)的數(shù)據(jù)。例如訂單表和產(chǎn)品表都包括品名、規(guī)格、單價(jià)等數(shù)據(jù),而產(chǎn)品表已經(jīng)錄入所有的品名、規(guī)格和單價(jià),我們希望在訂單表中只需輸入品名和規(guī)格,單價(jià)即可自動(dòng)輸入。為實(shí)現(xiàn)上述目的,我們只需將訂單表中單價(jià)列的刷新公式設(shè)為:FindText("產(chǎn)品表","單價(jià)","品名","=",[品名],"規(guī)格","=",[規(guī)格])合并關(guān)聯(lián)表在“表”菜單中,單擊“合并關(guān)聯(lián)表”,可以將兩個(gè)關(guān)聯(lián)表合并為一個(gè)新表。兩個(gè)關(guān)聯(lián)表必須有一個(gè)為父表,一個(gè)為子表,并分別指定用于關(guān)聯(lián)的列,以及需要包括在新表中的列。那么如何確定父表和子表呢?我們知道關(guān)聯(lián)表之間往往存在著一種一對(duì)多的關(guān)系,例如客戶表中的某個(gè)客戶在訂單表中對(duì)應(yīng)著多條訂單,而一個(gè)訂單只能對(duì)應(yīng)著一個(gè)客戶,所以客戶表就是父表,訂單表就是子表。關(guān)聯(lián)篩選在表與表之間建立關(guān)聯(lián)后,一個(gè)表中的每條記錄在關(guān)聯(lián)表中也應(yīng)該有對(duì)應(yīng)的一條記錄,但是由于數(shù)據(jù)輸入錯(cuò)誤或其他原因,某些記錄可能在關(guān)聯(lián)表中沒有對(duì)應(yīng)記錄。為了快速找出這些記錄,可以利用“篩選”菜單中的“關(guān)聯(lián)篩選”命令。
不僅是關(guān)聯(lián)表,任何存在一定關(guān)系的表,都可以進(jìn)行這種關(guān)聯(lián)篩選。
例如在人事管理中,在根本信息表中按下列圖所示進(jìn)行關(guān)聯(lián)篩選,即可快速找出在根本信息表中有記錄而在工資表中沒有記錄的員工。顯然,可以利用關(guān)聯(lián)篩選得到兩個(gè)結(jié)構(gòu)相同的表的交集或差集,至于并集,可以利用前面提到的合并表的功能來實(shí)現(xiàn)。在子方設(shè)計(jì)下列圖是一個(gè)入庫管理系統(tǒng),入庫單表和入庫明細(xì)表通過“入庫單編號(hào)”建立關(guān)聯(lián),每個(gè)入庫單記錄在入庫明細(xì)表中對(duì)應(yīng)多個(gè)記錄,為便于管理,我們通常選擇入庫單表進(jìn)行操作,通過菜單命令“表-顯示關(guān)聯(lián)表”來顯示當(dāng)前入庫單對(duì)應(yīng)的入庫明細(xì)數(shù)據(jù)。如果要打印一張入庫單,顯然應(yīng)該包括入庫單數(shù)據(jù)和該入庫單對(duì)應(yīng)的所有入庫明細(xì)數(shù)據(jù),由于入庫單和入庫明細(xì)存在一對(duì)多的關(guān)系,所以這張報(bào)表按照常規(guī)的方法在入庫單表設(shè)計(jì)是不行的,因?yàn)闆]有方法逐一調(diào)用入庫明細(xì)表中的有關(guān)數(shù)據(jù);為了解決這個(gè)問題,我們可以在入庫明細(xì)表中設(shè)計(jì)入庫單報(bào)表,設(shè)計(jì)過程和普通的報(bào)表一樣,而且可以很方便地通過[表名!列名]的格式調(diào)用入庫單表中的數(shù)據(jù),因?yàn)槿霂烀骷?xì)表中每條記錄在入庫單表中只有唯一的一條對(duì)應(yīng)記錄。在入庫明細(xì)表設(shè)計(jì)好入庫單報(bào)表之后,再回到入庫單表,需要打印入庫單的時(shí)候,右擊入庫明細(xì)表,從快捷菜單中指向“打印報(bào)表”,單擊“入庫單”即可。這是在入庫明細(xì)表中設(shè)計(jì)的入庫單報(bào)表:這是入庫單打印效果:在父方設(shè)計(jì)在子方設(shè)計(jì)一對(duì)多報(bào)表有一個(gè)缺乏,就是每次只能打印父方一條記錄,對(duì)于批量打印報(bào)表非常不便。為解決這個(gè)問題,我們也可以考慮在父方設(shè)計(jì)報(bào)表,不過相對(duì)要繁瑣一些。
要在父方設(shè)計(jì)一對(duì)多報(bào)表,必須掌握FindText函數(shù),我們知道FindText可以按照指定的條件從指定表中返回指定列的內(nèi)容,而且可以用參數(shù)決定返回第幾個(gè)符合條件的數(shù)據(jù),例如:
FindText("入庫明細(xì)","存貨編碼","入庫單編號(hào)","=",[入庫單編號(hào)],1)
表示從入庫明細(xì)表中找出第一個(gè)入庫單編號(hào)等于當(dāng)前入庫單編號(hào)的記錄,并返回該記錄存貨編碼列的內(nèi)容。
FindText("入庫明細(xì)","數(shù)量","入庫單編號(hào)","=",[入庫單編號(hào)],6)
表示從入庫明細(xì)表中找出第六個(gè)入庫單編號(hào)等于當(dāng)前入庫單編號(hào)的記錄,并返回該記錄數(shù)量列的內(nèi)容。利用FindText設(shè)計(jì)一對(duì)多的關(guān)聯(lián)報(bào)表時(shí),首先應(yīng)該估計(jì)父方每條記錄最多可能對(duì)應(yīng)子表中多少條記錄,例如一個(gè)入庫單,最多可能包括多少種產(chǎn)品,假定這個(gè)最大數(shù)為Rows,子表最大的列數(shù)是Cols,那么就在報(bào)表的細(xì)節(jié)區(qū)繪制一個(gè)(Rows+1)*Cols的表,第一行打印子表的列標(biāo)題,其他各行用FindText函數(shù)調(diào)用子表數(shù)據(jù)進(jìn)行打印,如下列圖所示。為了提高效率,我們可以先設(shè)置好第二行的對(duì)象,然后復(fù)制、粘貼,將新粘貼的對(duì)象拖到第三行,然后稍作修改即可,其他各行也用類似的方法處理。上圖中,第2行第3列的內(nèi)容為:
FindText("入庫明細(xì)","規(guī)格","入庫單編號(hào)","=",[入庫單編號(hào)],1)
第7行第6列的內(nèi)容為:
findtext("入庫明細(xì)","數(shù)量","入庫單編號(hào)","=",[入庫單編號(hào)],6)其他單元格的內(nèi)容類推,下面是打印效果:你也許留意到上圖中最后兩行是空的,這是因?yàn)樵O(shè)計(jì)報(bào)表的時(shí)候,預(yù)留了7行數(shù)據(jù),而當(dāng)前入庫單只有5條入庫明細(xì)。明細(xì)字段明細(xì)字段如果將列類型設(shè)為明細(xì)型,那該列中的每一個(gè)單元格都會(huì)包含一個(gè)明細(xì)表,單擊單元格右邊的按鈕,可以翻開明細(xì)表。例如在下列圖中,家屬和工作經(jīng)歷兩個(gè)字段都是明細(xì)型。右擊明細(xì)表,通過彈出的快捷菜單你可以設(shè)置明細(xì)表的欄目,列表工程、刷新公式,也可以排序、添加行、刪除行。在明細(xì)表的最后一個(gè)單元格按回車鍵,會(huì)自動(dòng)增加一行。你也可以通過以下快捷鍵對(duì)明細(xì)表進(jìn)行操作:
Ctrl+A
增加一行
Ctrl+I
插入一行
Ctrl+Del
刪除行引用主表中的數(shù)據(jù)1、明細(xì)表不管引用的是哪一個(gè)主表的數(shù)據(jù),都必須同時(shí)包括表名和列名,例如[產(chǎn)品!單價(jià)]2、明細(xì)表雖然不能和主表建立表間關(guān)聯(lián),但是可以利用FindText函數(shù)到達(dá)和關(guān)聯(lián)相似的效果。假定有一個(gè)名為產(chǎn)品表的主表,已經(jīng)輸入編號(hào)、品名、單價(jià)等數(shù)據(jù),希望在明細(xì)表中只需輸入產(chǎn)品編號(hào),對(duì)應(yīng)的品名和單價(jià)即可自動(dòng)輸入。為實(shí)現(xiàn)上述目的,我們只需將明細(xì)表中產(chǎn)品列的刷新公式設(shè)為:FindText("產(chǎn)品","品名","編號(hào)","=",[編號(hào)]),單價(jià)列的刷新公式設(shè)為:FindText("產(chǎn)品","單價(jià)","編號(hào)","=",[編號(hào)])引用明細(xì)表中的數(shù)據(jù)利用SubCell可以返回明細(xì)表中的指定位置的內(nèi)容。語法:SubCell(ColName,SubRow,SubCol)ColName明細(xì)列的名稱
SubRow
行坐標(biāo),如果設(shè)為-1,那么返回最后一行的數(shù)據(jù)。
SubCol
列坐標(biāo)例如下列圖中,訂單列是明細(xì)型,訂單明細(xì)表第3行第2列位置的內(nèi)容為7,所以subcell("訂單",3,2)=7統(tǒng)計(jì)明細(xì)表數(shù)據(jù)請(qǐng)參考一下函數(shù):SubSumSubAvgSubMaxSubMinSubRows合并明細(xì)表對(duì)于明細(xì)字段來說,數(shù)據(jù)分布在不同的明細(xì)表中,不便于進(jìn)行統(tǒng)一的分析處理。在“表”菜單中,單擊“合并明細(xì)表”,可以將某個(gè)明細(xì)列的數(shù)據(jù)合并到一個(gè)單獨(dú)的表中,而且可以包括主表中的局部列,這樣就可以和主表一樣,隨心所欲地對(duì)明細(xì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,以及其他各種操作。自動(dòng)復(fù)制明細(xì)行由于明細(xì)數(shù)據(jù)分散在不同的明細(xì)表中,如果有相同內(nèi)容的數(shù)據(jù)要輸入,必須一個(gè)一個(gè)明細(xì)表去錄入,很不方便。為解決這個(gè)問題,最新版本的易表增加了自動(dòng)復(fù)制明細(xì)行的功能,在某一個(gè)明細(xì)表中,輸入要復(fù)制到所有明細(xì)表的內(nèi)容,然后右擊復(fù)制內(nèi)容所在的行,從彈出的快捷菜單中執(zhí)行“自動(dòng)復(fù)制”命令即可。注意這項(xiàng)操作必須在主窗口進(jìn)行,對(duì)于錄入窗口無效。如何打印明細(xì)表數(shù)據(jù)明細(xì)表數(shù)據(jù)不能直接打印,只能利用SubCell函數(shù)在報(bào)表中打印。假定某個(gè)明細(xì)表的列數(shù)為Cols,最大行數(shù)為Rows,那么就在報(bào)表中繪制一個(gè)Rows*Cols大小的表格,在每個(gè)單元格中利用SubCell函數(shù)設(shè)置打印內(nèi)容。例如下列圖就是用subcell函數(shù)來打印員工的工作簡(jiǎn)歷。明細(xì)表和關(guān)聯(lián)表明細(xì)表的大局部功能都可以用關(guān)聯(lián)表實(shí)現(xiàn),大多數(shù)時(shí)候,我們推薦采用關(guān)聯(lián)表。使用公式計(jì)算的根底:列類型為了確保公式計(jì)算結(jié)果的準(zhǔn)確性,在設(shè)計(jì)表的時(shí)候,一定要正確設(shè)置列的類型,例如對(duì)于一個(gè)訂單管理系統(tǒng),必須將“數(shù)量”、“單價(jià)”、“折扣”等列設(shè)為數(shù)值型,將日期列設(shè)為時(shí)間型,客戶、產(chǎn)品、雇員等列設(shè)為字符型。刷新公式關(guān)于刷新公式
通過設(shè)置刷新公式,某些列的值可以由其它列的值計(jì)算得出。例如在訂單表中,可以將“金額”列的刷新公式設(shè)為:
[數(shù)量]*[單價(jià)]*(1-[折扣])
這樣一旦增加或修改數(shù)據(jù),金額即可根據(jù)數(shù)量、單價(jià)、折扣的值自動(dòng)求得。為了確保計(jì)算結(jié)果為兩位小數(shù),我建議將公式改為:
Round([數(shù)量]*[單價(jià)]*(1-[折扣]),2)設(shè)置刷新公式
選擇要設(shè)置刷新公式的列,在“列”菜單上,單擊“刷新公式”,啟動(dòng)公式生成器,輸入刷新公式,單擊“確定”
刷新公式不需要在開始位置輸入等于號(hào),而且列名稱必須用方括號(hào)括起來,例如對(duì)于“訂單”表中的“金額”列,正確的刷新公式為:
Round([數(shù)量]*[單價(jià)]*(1-[折扣]),2)
以下的公式那么都是錯(cuò)誤的:
Round(數(shù)量*單價(jià)*(1-折扣,2)
=Round([數(shù)量]*[單價(jià)]*(1-[折扣]),2)
[金額]=Round([數(shù)量]*[單價(jià)]*(1-[折扣]),2)
提示:刷新公式對(duì)于匯總模式、框架模式下的分組行是無效的,如果要對(duì)分組行進(jìn)行計(jì)算,請(qǐng)?jiān)凇傲小辈藛紊?,單擊“重算列”,輸入?jì)算公式,計(jì)算范圍選擇分組行。條件計(jì)算有的時(shí)候,條件不同,計(jì)算公式不同,此時(shí)需要用IF函數(shù)進(jìn)行條件判斷,If函數(shù)有三個(gè)參數(shù),第一個(gè)參數(shù)為條件判斷式,第二個(gè)參數(shù)為條件成立的計(jì)算公式,第三個(gè)參數(shù)為條件不成立的計(jì)算公式。
例子一,下面是訂單表中金額列的刷新公式,數(shù)量超過50的訂單給與5%的折扣:
if([數(shù)量]>50,[數(shù)量]*[單價(jià)]*0.95,[數(shù)量]*[單價(jià)])
例子二,某單位營業(yè)員的獎(jiǎng)金計(jì)算公式,回款額不同,計(jì)算公式不同,這是一個(gè)典型的IF函數(shù)嵌套使用例子:
if([回款額]<=1100,0,
if([回款額]<=1500,([回款額]-1100)*0.1+70,
if([回款額]<=1800,([回款額]-1500)*0.3+110,
if([回款額]<=2100,([回款額]-1800)*0.35+200,
if([回款額]<=2400,([回款額]-2100)*0.4+305,
if([回款額]<=2700,([回款額]-2400)*0.45+425,
0))))))
例子三,只有符合某一條件才進(jìn)行計(jì)算,例如只有結(jié)賬等于0時(shí),才重新計(jì)算金額:
if([結(jié)賬]=0,[數(shù)量]*[產(chǎn)品!單價(jià)]*(1-[折扣]),[金額])
結(jié)賬列是一個(gè)邏輯列,[結(jié)賬]=0表示還未結(jié)帳,這樣我們修改產(chǎn)品表中的單價(jià)后,并不會(huì)影響已結(jié)帳的訂單。觸發(fā)條件刷新公式是自動(dòng)計(jì)算的,但是這個(gè)自動(dòng)計(jì)算也是有條件的,只有在相關(guān)列的數(shù)據(jù)被修改后,刷新才會(huì)自動(dòng)計(jì)算。例如下列圖中,只有單價(jià)、數(shù)量、折扣等相關(guān)列的內(nèi)容被修改后,金額列的內(nèi)容才會(huì)自動(dòng)刷新。
何謂相關(guān)列呢?就是刷新公式引用了該列的數(shù)據(jù),而且引用格式為:[列名稱],所以對(duì)于金額列的刷新公式:
Round([數(shù)量]*[單價(jià)]*(1-[折扣]),2)
數(shù)量、單價(jià)、折扣三列就是相關(guān)列。對(duì)于大多數(shù)公式來說,都是直接引用列名稱進(jìn)行計(jì)算,無需在這方面進(jìn)行過多的考慮。但是一些特殊情況下,我們就不得不考慮觸發(fā)條件了。例如在下面的表中,有A、B、C三列,C列用于記錄A列最后一次被修改的時(shí)間。易表中返回當(dāng)前時(shí)間的函數(shù)是Now()。顯然簡(jiǎn)單地將C列的刷新公式設(shè)置為Now()是不行的,因?yàn)榇藭r(shí)A列不是相關(guān)列,修改A列數(shù)據(jù)后,C列的刷新公式并不會(huì)自動(dòng)計(jì)算,為到達(dá)目的,我們可以將C列的刷新公式設(shè)為:IF([A]=[A],Now(),""),現(xiàn)在A列就是C列刷新公式的相關(guān)列,這樣一旦A列數(shù)據(jù)變化,就會(huì)重算C列的刷新公式,由于條件[A]=[A]在任何時(shí)候都是成立的,所以A列內(nèi)容變化后,C列就會(huì)自動(dòng)記錄當(dāng)前時(shí)間。
此外,如果用戶直接修改某列的內(nèi)容,也會(huì)自動(dòng)重算該列的刷新公式,所以對(duì)于任何一列的刷新公式來說,該列本身也算是一個(gè)關(guān)聯(lián)列。流水賬關(guān)于流水賬
流水賬是經(jīng)常使用的一種記賬方式,局部數(shù)據(jù)都要結(jié)合本行和之前行的數(shù)據(jù)計(jì)算得出。例如下列圖所示,我們希望修改任意一行的進(jìn)倉或出倉數(shù)量,所有行的結(jié)存均能自動(dòng)刷新,且在分組行顯示最新的結(jié)存。
設(shè)置刷新公式
顯然本行結(jié)存是由上行結(jié)存加上本行進(jìn)倉,再減去本行出倉,那么如何來引用上一行中的結(jié)存呢,我們需要使用Cell函數(shù),Cell函數(shù)用于引用指定單元格,例如Cell(2,5)表示位于第2行第5列的單元格,此外Cell函數(shù)通常和變量Row、Col結(jié)合使用,Row表示當(dāng)前行,Col表示當(dāng)前列,所以Cell(Row-1,Col)表示同一列中上一行的單元格。此外,我們要注意第一行的結(jié)存和其它行的計(jì)算方法是不同的,第一行的結(jié)存的計(jì)算公式直接就是“[進(jìn)倉]-[出倉]”,易表中有一個(gè)變量FirstRow,該變量代表每個(gè)分組的第一行。綜上所述,上圖中結(jié)存列的刷新公式應(yīng)設(shè)為:
if(Row=FirstRow,[進(jìn)倉]-[出倉],Cell(Row-1,Col)+[進(jìn)倉]-[出倉])
如果要在第一行輸入上一期的結(jié)存,那么刷新公式應(yīng)該設(shè)為:
if(Row=FirstRow,[結(jié)存],Cell(Row-1,Col)+[進(jìn)倉]-[出倉])
設(shè)置框架模式
要在同一本流水賬包括多種產(chǎn)品,必須使用框架模式。例如要到達(dá)上圖中的流水賬效果,必須根據(jù)產(chǎn)品列進(jìn)行分組,并對(duì)結(jié)存列進(jìn)行統(tǒng)計(jì),統(tǒng)計(jì)類型為流水賬,如下列圖所示:
自動(dòng)輸入分組名
在上例中,如果將“產(chǎn)品”列的默認(rèn)值設(shè)為:Cell(ParentRow,Col),那么我們新增行時(shí),會(huì)自動(dòng)輸入產(chǎn)品名稱。ParentRow是一個(gè)變量,代表當(dāng)前行所屬的分組行,所以Cell(ParentRow,Col)表示同一列中分組行單元格的內(nèi)容。
需要特別注意的
除了流水賬計(jì)算,請(qǐng)不要輕易地在刷新公式中同時(shí)使用Cell函數(shù)和Row變量,否那么會(huì)將刷新公式看作流水賬計(jì)算公式,修改當(dāng)前行的數(shù)據(jù),那么當(dāng)前行之后的所有行都會(huì)重新計(jì)算,大大降低了程序的運(yùn)行效率。同一行中的單元格應(yīng)該用列名稱來引用,而不是用Cell函數(shù)。例如下面兩個(gè)公式的計(jì)算結(jié)果是一樣的:
IF(Cell(Row,"未開票數(shù)量")=0,"OK","")
IF([未開票數(shù)量]=0,"OK","")
但是第二個(gè)公式的運(yùn)算效率遠(yuǎn)遠(yuǎn)高過第一個(gè)公式,如果表的行數(shù)較多,而且在表的開始位置修改數(shù)據(jù),那么兩者的速度差異將是百倍、千倍甚至萬倍。為什么計(jì)算速度這么慢?不少用戶反響,自己設(shè)置的刷新公式運(yùn)算速度特別慢。要提高易表的運(yùn)算速度,要把握兩個(gè)原那么;1、盡量用刷新公式,而不是單元格公式來計(jì)算。
2、除了流水賬外,在設(shè)置刷新公式時(shí),絕不可在Cell函數(shù)中出現(xiàn)Row變量,同一行中的單元格應(yīng)該用列名稱來引用,而不是用Cell函數(shù)。例如下面兩個(gè)公式的計(jì)算結(jié)果是一樣的:
IF(Cell(Row,"未開票數(shù)量")=0,"OK","")
IF([未開票數(shù)量]=0,"OK","")
但是第二個(gè)公式的運(yùn)算效率遠(yuǎn)遠(yuǎn)高過第一個(gè)公式,如果表的行數(shù)較多,而且在表的開始位置修改數(shù)據(jù),那么兩者的速度差異將是百倍、千倍甚至萬倍。為什么會(huì)這樣呢,因?yàn)槿绻鹀ell函數(shù)中出現(xiàn)row變量,會(huì)將該刷新公式作為流水賬計(jì)算公式,修改當(dāng)前行的數(shù)據(jù),當(dāng)前行之后的所有行的公式都會(huì)重新計(jì)算。默認(rèn)值公式關(guān)于默認(rèn)值公式
每一列都可以設(shè)置一個(gè)默認(rèn)值公式,增加新行時(shí),將自動(dòng)計(jì)算該公式,并將結(jié)果填入到對(duì)應(yīng)的列中。
例如,在“員工資料”表中,可以將“城市”列的默認(rèn)值設(shè)為:"北京"。當(dāng)用戶在表中添加行時(shí),會(huì)在“城市”列中自動(dòng)輸入北京,如果該員工不是北京的,錄入員也可以輸入其他城市的名稱。
再例如在“訂單”表中,可以將“日期”列的默認(rèn)值設(shè)為:Today(),當(dāng)用戶在表中添加行時(shí),會(huì)在“日期”列中自動(dòng)輸入當(dāng)天日期。設(shè)置默認(rèn)值公式
選擇要設(shè)置默認(rèn)值公式的列,在“列”菜單上,單擊“默認(rèn)值公式”。一個(gè)默認(rèn)值使用技巧
新增行數(shù)據(jù)和上一行的數(shù)據(jù)有些經(jīng)常是相似或相同的,對(duì)于相似或相同的列,我們可以將其默認(rèn)值設(shè)為:cell(row-1,col),這樣新增行的數(shù)據(jù)會(huì)自動(dòng)從上一行繼承這些列的內(nèi)容,無需再次輸入。cell函數(shù)說明默認(rèn)值只是在新增行的時(shí)候計(jì)算一次,其他任何時(shí)候都不會(huì)自動(dòng)計(jì)算的。重算列關(guān)于重算列
重算列可以按照指定的公式、指定的范圍重新計(jì)算某一列,這種操作是一次性的。而刷新公式是一個(gè)屬性,一旦設(shè)置那么永久生效。例如在訂單表中,希望給數(shù)量超過500的訂單增加5%的折扣,此時(shí)就只能就利用重算列來實(shí)現(xiàn),而不能使用刷新公式,因?yàn)檫@種操作是一次性的。
操作步驟
在“列”菜單上,單擊“重算列”,輸入重算公式,指定重算范圍,單擊“確定”。
范圍選項(xiàng)選項(xiàng)說明所有行重算所有行選定行重算選定行分組行只重算匯總模式或框架模式下的分組行符合條件的行只刷新符合指定條件的行,單擊“...”可以啟動(dòng)表達(dá)式生成器來輸入條件。包括隱藏行是否重算隱藏行單元格公式關(guān)于單元格公式
通過設(shè)置單元格公式,某些單元格的值可以由其它單元格的值計(jì)算得出。請(qǐng)注意單元格公式和刷新公式的差異,前者是針對(duì)單個(gè)單元格的,后者是針對(duì)整列的,而且如果可能,我們推薦盡量使用刷新公式,因?yàn)樗⑿鹿降男矢摺?/p>
設(shè)置單元格公式
用鼠標(biāo)右鍵單擊要設(shè)置公式的單元格,從彈出的快捷菜單中單擊“單元格公式”,啟動(dòng)公式生成器,輸入單元格公式,單擊“確定”。單元格公式不需要在開始位置輸入等于號(hào),直接輸入計(jì)算式即可。
單元格公式不需要在開始位置輸入等于號(hào),下面的單元格公式可以正確運(yùn)算:
CELL(1,2)+CELL(1,3)
以下的單元格公式那么是錯(cuò)誤的:
=CELL(1,2)+CELL(1,3)
必須掌握的幾個(gè)函數(shù)
在單元格公式中經(jīng)常使用的函數(shù)有:Cell、Aggregate、Sumfor、Countfor
注意:和刷新公式不同,修改數(shù)據(jù)之后,單元格公式不會(huì)自動(dòng)計(jì)算,在任何時(shí)候,按F8鍵,可重算單元格公式。如果你希望修改數(shù)據(jù)之后,自動(dòng)計(jì)算單元格公式,可在“表”菜單上,單擊“計(jì)算選項(xiàng)”,選擇自動(dòng)計(jì)算單元格公式即可。再次強(qiáng)調(diào)應(yīng)該盡可能用刷新公式,而不是單元格公式。自動(dòng)計(jì)算設(shè)置在默認(rèn)情況下,刷新公式是自動(dòng)計(jì)算的,一旦修改或增加數(shù)據(jù),會(huì)立即得到最新的計(jì)算結(jié)果,而單元格公式在默認(rèn)情況下,那么不會(huì)自動(dòng)計(jì)算,修改數(shù)據(jù)之后,按“F8”鍵可重新計(jì)算所有單元格公式。如果設(shè)置了較多的單元格公式和刷新公式,那么程序的運(yùn)行速度會(huì)降低,大面積地復(fù)制和粘貼數(shù)據(jù)的時(shí)候,更是如此。
為了提高效率,可以暫停自動(dòng)計(jì)算。在“表”菜單中,單擊“選項(xiàng)設(shè)置”,可以設(shè)置修改數(shù)據(jù)后,是否自動(dòng)計(jì)算刷新公式、單元格公式以及分組統(tǒng)計(jì)結(jié)果。除非你的數(shù)據(jù)量很小,而且所設(shè)置的單元格公式不是很復(fù)雜,否那么最好不要選擇自動(dòng)計(jì)算單元格公式。暫停自動(dòng)計(jì)算后,如果需要得到最新的計(jì)算結(jié)果,可以在“表”菜單上指向“重新計(jì)算”,即可重算刷新公式、單元格公式或分組統(tǒng)計(jì)結(jié)果,也可以重算選定的行、列,或者重算整個(gè)表。直接輸入計(jì)算式在輸入數(shù)據(jù)時(shí),可以直接輸入計(jì)算式,程序會(huì)自動(dòng)對(duì)該計(jì)算式求值,并將結(jié)果填入單元格。例如在單元格中輸入:=2*3,那么實(shí)際輸入的將是6。注意在單元格中輸入的公式,必須以等于號(hào)開始??梢栽诠街惺褂煤瘮?shù)、列名,例如:=INT([數(shù)量]*[單價(jià)])。
直接輸入的公式是一次性的,計(jì)算結(jié)束后,該公式并不會(huì)保存,如果需要設(shè)置永久性的公式,請(qǐng)參考:刷新公式、單元格公式時(shí)間計(jì)算兩種列類型
易表有兩種和時(shí)間有關(guān)的列類型,時(shí)間型和時(shí)段型,前者表示某一個(gè)日期或時(shí)間,后者表示一個(gè)時(shí)間間隔。有效的時(shí)間數(shù)據(jù)99-01-01
12:30:12有效的時(shí)段數(shù)據(jù)28:12
12:30:12無效的時(shí)間數(shù)據(jù)28:12無效的時(shí)段數(shù)據(jù)99-01-01如何得到時(shí)間間隔
利用函數(shù)Number可以計(jì)算時(shí)間間隔,例如:
Number($"1999-3-1")-Number($"1999-2-1")=28
Number($"7:30")-Number($"1:30")
=0.25
Number函數(shù)是將時(shí)間轉(zhuǎn)換為以日為單位的數(shù)字,所以用這種方式計(jì)算得出的時(shí)間間隔是以日為單位的。
時(shí)段數(shù)據(jù)的特別之處
時(shí)段型數(shù)據(jù)通常表示兩個(gè)時(shí)間的間隔,并且是以秒為單位的〔盡管顯示為時(shí)分秒〕,所以用Number得到兩個(gè)時(shí)間的間隔之后,還必須乘以每天的秒數(shù)〔86400〕,才能得到真正的時(shí)段型數(shù)據(jù),例如:
(Number($"7:30")-Number($"1:28"))*86400=6:02
需要的注意的是,上述的公式只有用在時(shí)段型列才有效,否那么會(huì)得到以秒表示的時(shí)間間隔:
(Number($"7:30")-Number($"1:28"))*86400
=21720
可以用CTime函數(shù)將數(shù)值轉(zhuǎn)換為時(shí)段數(shù)據(jù),例如:
CTime(21720)=6:02
時(shí)段數(shù)據(jù)可以直接進(jìn)行加減,例如下列圖中,后三列全部為時(shí)段型,合計(jì)列的刷新公式為:[上班時(shí)間]+[加班時(shí)間]
例如一
在打字速度考試中,知道每個(gè)學(xué)員的用時(shí)和字?jǐn)?shù),如何求得每分鐘的平均打字速度呢?很簡(jiǎn)單,將“用時(shí)”列設(shè)為時(shí)段型,時(shí)段型數(shù)據(jù)參與運(yùn)算的時(shí)候,將轉(zhuǎn)換為以秒為單位的數(shù)值,例如時(shí)段“0:01:30”等于90秒,所以將轉(zhuǎn)換為數(shù)值90參與計(jì)算。綜上所述,平均每分鐘打字速度的計(jì)算公式為:
[字?jǐn)?shù)]/[用時(shí)]*60
例如二
在一個(gè)工資管理系統(tǒng)中,員工每天的工資按小時(shí)計(jì)算,每小時(shí)的工資為8元,那么工資列的刷新公式應(yīng)該為:
(Number([下班時(shí)間])-Number([上班時(shí)間]))
*24*8
如果需要知道每人每天的工作時(shí)間長度,可增加一列“工作時(shí)數(shù)”,將其列類型設(shè)為時(shí)段型,刷新公式設(shè)為:
(Number([下班時(shí)間])-Number([上班時(shí)間]))
*86400
然后將工資列的刷新公式設(shè)為:
[工作時(shí)數(shù)]/3600*8
怎么理解上面的公式呢,函數(shù)Number求出的時(shí)間差是以天為單位,乘以24才是小時(shí)數(shù),乘以86400(24*3600)得到的才是時(shí)段數(shù)據(jù)。行驗(yàn)證公式關(guān)于行驗(yàn)證公式
通過設(shè)置行驗(yàn)證公式,可以對(duì)輸入的數(shù)據(jù)進(jìn)行驗(yàn)證。在執(zhí)行命令或移動(dòng)到其它行之前,程序會(huì)根據(jù)行驗(yàn)證公式檢驗(yàn)當(dāng)前行的有效性,如果當(dāng)前行不符合行驗(yàn)證公式要求,那么不能執(zhí)行任何操作。
行驗(yàn)證公式必須是一個(gè)邏輯表達(dá)式。設(shè)置驗(yàn)證公式
在“表”菜單上,指向“公式設(shè)置”命令,單擊“驗(yàn)證公式”,即可輸入行驗(yàn)證公式。例如在訂單管理系統(tǒng)中,要求每個(gè)訂單的訂貨數(shù)量必須大于20,而且折扣不能超過10%,那么可以將行驗(yàn)證公式設(shè)為:
[數(shù)量]>20And[折扣]<=0.1行驗(yàn)證公式的觸發(fā)條件
換行、切換表、執(zhí)行菜單命令都會(huì)觸發(fā)行驗(yàn)證公式,在同一行不同的列中移動(dòng)不會(huì)觸發(fā)驗(yàn)證公式。驗(yàn)證提示對(duì)于一個(gè)友善的應(yīng)用系統(tǒng),應(yīng)該在數(shù)據(jù)不符合驗(yàn)證條件的時(shí)候,給用戶一個(gè)明確的錯(cuò)誤提示。要實(shí)現(xiàn)這個(gè)目標(biāo),必須用MsgBox函數(shù)。語法
MsgBox(Message,Option,Icon)
Message
提示信息
Option
決定MsgBox函數(shù)的返回值,設(shè)為0返回False,設(shè)為1返回True,設(shè)為2那么根據(jù)用戶的選擇返回值,用戶選擇“是”返回True,選擇“否”返回False。
Icon
可選參數(shù),指定提示窗口顯示的圖標(biāo),1錯(cuò)誤,2詢問,3警告,4提示幾個(gè)例子
1、在訂單表中,將行驗(yàn)證公式設(shè)為:if([折扣]>0.15,msgbox("折扣不能超過15%!",0),True)
如果用戶輸入的折扣超過0.15,將提示“折扣不能超過15%”,而且用戶必須作出更正,才能進(jìn)行其他操作。2、在訂單表中,將行驗(yàn)證公式設(shè)為:if([折扣]>0.15,msgbox("折扣不能超過15%!",1),True)
如果用戶輸入的折扣超過0.15,將提示“折扣不能超過15%”,但是用戶可以不作出更正,繼續(xù)進(jìn)行其他操作。3、在訂單表中,將行驗(yàn)證公式設(shè)為:if([折扣]>0.15,msgbox("折扣最好不要超過15%,是否接受現(xiàn)在的折扣?",2),True)
如果用戶輸入的折扣超過0.15,將提示“折扣最好不要超過15%,是否接受現(xiàn)在的折扣?”,如果用戶選擇“是”,將接受用戶輸入的折扣,如果選擇“否”,那么用戶必須做出更正,才能繼續(xù)進(jìn)行其他操作。注意上述公式中的True,True是一個(gè)邏輯值,表示“成立”。驗(yàn)證公式必須返回True,才能通過驗(yàn)證,上述公式中,如果折扣不大于0.15,表達(dá)式直接返回True,也就是說折扣不大于0.15是符合驗(yàn)證公式要求的。防止輸入重復(fù)內(nèi)容假定有一個(gè)編號(hào)列,希望對(duì)于每一條記錄來說,這個(gè)編號(hào)是唯一的,為達(dá)此目的,只需將行驗(yàn)證公式設(shè)為:
FindRow(Gridname,"編號(hào)","=",[編號(hào)],2)=0如何理解這個(gè)公式呢?等于號(hào)左邊的關(guān)鍵在于最后一個(gè)參數(shù)“2”,表示返回第2個(gè)與當(dāng)前行相同編號(hào)的行的行號(hào),如果等于0,表示不存在相同編號(hào)的行,也就是當(dāng)前行的編號(hào)是唯一的。不僅僅是驗(yàn)證行驗(yàn)證公式不僅僅可以用來驗(yàn)證數(shù)據(jù),還可以在行驗(yàn)證公式中使用一些操作函數(shù),完成各種操作,接下來我們將提供兩個(gè)典型的應(yīng)用實(shí)例。自動(dòng)鎖定行例如在下列圖中,將驗(yàn)證公式設(shè)為:
if([審核]=-1,LockRow(Row),true)
這樣一旦某一行數(shù)據(jù)通過審核〔在審核列打勾〕,換行后即可自動(dòng)鎖定該行,防止被人繼續(xù)修改。自動(dòng)增加行在一個(gè)人事管理系統(tǒng)中,有“雇員資料”和“工資數(shù)據(jù)”兩個(gè)表。假設(shè)希望在“雇員資料”表中新增一個(gè)雇員后,“工資數(shù)據(jù)”也能自動(dòng)增加一條該雇員的記錄,為達(dá)此目的,可以將“雇員資料”表的行驗(yàn)證公式設(shè)為:If(FindRow("工資數(shù)據(jù)",""編號(hào)","=",[編號(hào)])=0,Addrow("工資數(shù)據(jù)","編號(hào),姓名,部門",[編號(hào)],[姓名],[部門]),True)該公式首先在“工資數(shù)據(jù)表”中查找相同編號(hào)的記錄,如果沒有找到,就在“工資數(shù)據(jù)表”新增一行,并將該雇員的編號(hào)、姓名、部門等內(nèi)容復(fù)制到“工資數(shù)據(jù)”表的新增行中。有關(guān)函數(shù)的理解,請(qǐng)參考:
FindRow
AddRow利用刷新公式進(jìn)行數(shù)據(jù)驗(yàn)證我們前面已經(jīng)知道,可以利用行驗(yàn)證公式對(duì)某一行的數(shù)據(jù)進(jìn)行驗(yàn)證,但是行驗(yàn)證公式也有缺乏:
1、它是針對(duì)整行數(shù)據(jù)的,而且不是即時(shí)生效的,只有在移到其他行之前,才會(huì)進(jìn)行計(jì)算判斷。
2、不具備自動(dòng)糾錯(cuò)功能。為解決這個(gè)問題,我們可以利用刷新公式進(jìn)行數(shù)據(jù)驗(yàn)證。例如我們要求訂單表中的折扣不能超過0.15,可以將折扣列的刷新公式設(shè)為:
if([折扣]>0.15,"",[折扣])
上述公式的含義是,如果輸入的折扣大于0.15,那么拒絕接受〔去除折扣內(nèi)容〕,否那么保持折扣不變。
你也可以這樣設(shè)置公式:
if([折扣]>0.15,"錯(cuò)誤!",[折扣])
這樣一旦折扣列的內(nèi)容超過0.15,將在折扣列顯示“錯(cuò)誤!”表驗(yàn)證公式表驗(yàn)證公式在存盤或切換到其他表之前執(zhí)行,如果不符合表驗(yàn)證公式要求,將不能存盤或切換到其他表。除了驗(yàn)證之外,表驗(yàn)證公式還可以用來在存盤或切換到其他表之前,對(duì)當(dāng)前表進(jìn)行一些處理。
在“表”菜單上,指向“公式設(shè)置”,單擊“驗(yàn)證公式”,可以設(shè)置表驗(yàn)證公式,注意不要和行驗(yàn)證公式混淆。驗(yàn)證的例子
例如在離開表之前,希望某一列的內(nèi)容必須全部輸入,不能存在空值,假定該列的名稱為A,那么可以將表驗(yàn)證公式設(shè)為:
FindRow(GridName,"A","=","")=0處理的例子
例如在離開表之前,希望刪除所有A列沒有輸入內(nèi)容的行,那么可以將表驗(yàn)證公式設(shè)為:
DelFor(GridName,"A","=","")清理現(xiàn)場(chǎng)
我們知道,離開某個(gè)表之前,如果沒有關(guān)閉錄入窗口、備注窗口、圖片窗口、明細(xì)窗口或關(guān)聯(lián)表窗口,那么下次進(jìn)入這個(gè)表,上述窗口就會(huì)自動(dòng)翻開,為了保證每次進(jìn)入這個(gè)表都能得到一個(gè)“干凈”的環(huán)境,我們可以通過表驗(yàn)證公式來“清理現(xiàn)場(chǎng)”:
CloseWindow()AndCloseColWindiow()AndCloseRGrid()
由于存盤的時(shí)候,同樣會(huì)執(zhí)行表驗(yàn)證公式,這樣上述公式會(huì)造成存盤時(shí)窗口自動(dòng)關(guān)閉,為防止這種情況,可以將公式改為:
if(Status=0,CloseWindow()AndCloseColWindiow()AndCloseRGrid(),True)
Status是一個(gè)系統(tǒng)變量,存盤的時(shí)候返回1,其他時(shí)候返回0。
公式的理解請(qǐng)參考相關(guān)函數(shù)。行預(yù)處理公式在“表”菜單上,指向“公式設(shè)置”,單擊“預(yù)處理公式”,可以設(shè)置預(yù)處理公式。預(yù)處理公式分為兩種,分別為表預(yù)處理公式和行預(yù)處理公式,表預(yù)處理公式留待下一節(jié)講述。每次進(jìn)入某一行數(shù)據(jù)的時(shí)候,都會(huì)立即執(zhí)行行預(yù)處理公式,這樣我們就可以在用戶編輯該行數(shù)據(jù)之前進(jìn)行一些操作,例如鎖定不應(yīng)該編輯的列,解鎖可以編輯的列,或者給操作者一些提示。使用實(shí)例
在下列圖中,我們希望如果A列選中,那么禁止編輯B列和D列,否那么允許編輯這兩列。
為實(shí)現(xiàn)上述目標(biāo),可按如下步驟操作:在“表”菜單上,指向“公式設(shè)置”,單擊“預(yù)處理公式”。將行預(yù)處理公式設(shè)為:
IF([A]=-1,Lockcol("B")andLockcol("D"),unLockcol("B")andunLockcol("D"))
這樣每次換行的時(shí)候,都會(huì)檢查當(dāng)前行A列的值,如果A列的值為-1〔打勾〕,那么自動(dòng)鎖定B列和D列,否那么解鎖B列和D列。但是目前還有一個(gè)缺乏,就是如果在換行后修改A列的值,不會(huì)即時(shí)執(zhí)行有關(guān)操作,為了解決這個(gè)問題,可以將A列的操作公式也設(shè)為:
IF([A]=-1,Lockcol("B")andLockcol("D"),unLockcol("B")andunLockcol("D"))表預(yù)處理公式一旦進(jìn)入某個(gè)表,首先就會(huì)執(zhí)行該表的預(yù)處理公式,這樣我們就可以在用戶操作這個(gè)表之前,進(jìn)行一些預(yù)處理工作。例如翻開指定的錄入窗口、菜單方案、列視圖等等,還可以鎖定或隱藏局部符合條件的行,甚至預(yù)先進(jìn)行一些提示。
在“表”菜單上,指向“公式設(shè)置”,單擊預(yù)處理公式,可以設(shè)置表預(yù)處理公式,注意不要和行預(yù)處理公式混淆。例子一例如我們希望在進(jìn)入某個(gè)表的時(shí)候,能夠自動(dòng)翻開第一個(gè)錄入窗口;而且當(dāng)前用戶如果是管理員,就同時(shí)翻開第二個(gè)列視圖,否那么翻開第一個(gè)列視圖;為達(dá)此目的,可以將這個(gè)表的表預(yù)處理公式設(shè)為:
OpenWindow(1)and
If(Username="管理員",OpenView(2),OpenView(1))
例子二if(UserType=2,
LockAll(),UnlockFor("雇員",UserName))
該公式的含義是:如果是分組碼等于2的用戶,那么鎖定所有行,使得該用戶只能查看而不能編輯數(shù)據(jù);如果是其他分組的用戶,那么鎖定所有非該用戶(雇員)的數(shù)據(jù),使得該用戶只能編輯屬于自己負(fù)責(zé)的數(shù)據(jù)。例子三if(LocateFor("截止日期","=",Today(),"執(zhí)行完畢","=",0)>0,Msgbox("有今天截止且未執(zhí)行的記錄!",0),True)
設(shè)置上述表預(yù)處理公式后,每次進(jìn)入表,都會(huì)查找是否有截止日期為當(dāng)天且未執(zhí)行完畢的記錄,如果有,就出現(xiàn)提示。
如果希望出現(xiàn)提示后,還能夠自動(dòng)篩選出這些記錄,可以將公式改為:
if(LocateFor("截止日期","=",Today(),"執(zhí)行完畢","=",0)>0,Msgbox("有今天截止且未執(zhí)行的記錄!",0)And
Filterfor("截止日期","=",Today(),"執(zhí)行完畢","=",0),True)操作公式如果希望某一列的內(nèi)容發(fā)生變化后,能夠自動(dòng)執(zhí)行某項(xiàng)操作,就需要使用操作公式了。
例如在下列圖中,我們希望某一行數(shù)據(jù)通過審核〔在審核列打勾〕后,能夠自動(dòng)鎖定該記錄,防止被人繼續(xù)修改,為達(dá)此目的:
1、選擇“審核”列
2、在“列”菜單上單擊“操作公式”
3、將操作公式設(shè)為:if([審核]
=-1,LockRow(Row),"")其實(shí)前面用行驗(yàn)證公式也同樣實(shí)現(xiàn)了這個(gè)功能,用操作公式和行驗(yàn)證公式有什么差異呢?操作公式是即時(shí)執(zhí)行的,只要單擊審核列,就會(huì)立即鎖定當(dāng)前行,而行驗(yàn)證公式是在換行的時(shí)候執(zhí)行,所以單擊審核列后,并不會(huì)立即鎖定當(dāng)前行,直到換行。如果操作公式需要進(jìn)行多項(xiàng)操作,可以用符號(hào)And連起來,例如:
RecalcRGrid("訂單明細(xì)")AndLockRow(Row)AndLockRowFor("訂單明細(xì)","訂單編號(hào)","=",[訂單編號(hào)])操作公式的觸發(fā)條件和刷新公式完全一樣,請(qǐng)參考:刷新公式的觸發(fā)條件。
操作公式還可以用來實(shí)現(xiàn)關(guān)聯(lián)表之間的自動(dòng)計(jì)算,請(qǐng)參考:自動(dòng)重算關(guān)聯(lián)表權(quán)限管理公式在“表”菜單中,指向“公式設(shè)置”,單擊“權(quán)限管理公式”,可以設(shè)置權(quán)限管理公式在兩種情況下會(huì)執(zhí)行權(quán)限管理公式:
1、進(jìn)入表的時(shí)候。
2、執(zhí)行篩選、撤銷篩選等命令或函數(shù)的時(shí)候。如果希望用戶進(jìn)入某個(gè)表后,能夠根據(jù)不同的用戶身份,隱藏局部行,使得每個(gè)用戶只能查看和修改自己有權(quán)操作的行,此時(shí)就需要使用權(quán)限管理公式。假定希望在訂單管理系統(tǒng)中,如果是普通用戶登錄,那么只顯示該用戶〔雇員〕負(fù)責(zé)的訂單,如果是管理員登陸,那么顯示所有數(shù)據(jù)。只需將訂單表的權(quán)限管理公式設(shè)為:
if(UserName="管理員",ShowAll(),ShowFor("雇員",UserName))你也許會(huì)問,用表預(yù)處理公式不是同樣可以到達(dá)目的嗎?其實(shí)不然,因?yàn)楸眍A(yù)處理公式在執(zhí)行篩選〔包括撤銷篩選〕命令或函數(shù)后是不會(huì)執(zhí)行的,這樣用戶就可能看到他不應(yīng)該看到的數(shù)據(jù)。但是如果你僅僅希望在用戶進(jìn)入某個(gè)表的時(shí)候,能夠預(yù)先鎖定局部符合條件的行,那么用表預(yù)處理公式是更恰當(dāng)?shù)?。需要注意的是,?quán)限管理公式用來顯示、隱藏行的函數(shù)是專用的,與通用函數(shù)不同。
有關(guān)權(quán)限管理公式的詳細(xì)用法,將在“用戶與權(quán)限管理”一章中進(jìn)行詳細(xì)介紹。文件預(yù)處理公式文件預(yù)處理公式在翻開文件后執(zhí)行,在“文件”菜單上,指向“文件設(shè)置”,單擊“文件預(yù)處理公式”,即可設(shè)置文件預(yù)處理公式。
注意不要在文件預(yù)處理公式中使用操作當(dāng)前表的函數(shù),例如HideGrid、FilterFor等等,因?yàn)榇藭r(shí)并沒有表翻開,也就是不存在當(dāng)前表。
文件預(yù)處理公式可以直接用表名來指定要操作的表,例如:RecalcGrid("銷售統(tǒng)計(jì)")。
但是不能用GridName來指定表,因?yàn)镚ridName表示當(dāng)前表,而此時(shí)并不存在當(dāng)前表。例如希望在翻開文件后,能夠立即翻開指定的菜單方案,可以將文件預(yù)處理公式設(shè)為:
OpenMenu("自定義菜單方案名稱")
當(dāng)然在第一個(gè)表的表預(yù)處理公式設(shè)置同樣的公式,也能到達(dá)目的,但是文件預(yù)處理公式只執(zhí)行一次,而表預(yù)處理公式每次進(jìn)入表,都要執(zhí)行一次,顯然前者效率更高。當(dāng)然如果希望不同的表,采用不同的菜單方案,就需要采用表預(yù)處理公式了。
文件驗(yàn)證公式在關(guān)閉文件之前,會(huì)執(zhí)行文件驗(yàn)證公式,如果文件驗(yàn)證公式不成立,那么將不能關(guān)閉當(dāng)前文件。在“文件”菜單上,指向“文件設(shè)置”,單擊“文件驗(yàn)證公式”,即可設(shè)置文件驗(yàn)證公式。各種公式的簡(jiǎn)介易表有多達(dá)11種公式,其中與列有關(guān)有:刷新公式、默認(rèn)值公式、操作公式,與表相關(guān)的有:表驗(yàn)證公式、填充公式、統(tǒng)計(jì)公式、表預(yù)處理公式、權(quán)限管理公式,與行相關(guān)的有:行預(yù)處理公式、行驗(yàn)證公式,此外還有單元格公式。對(duì)于大多數(shù)用戶來說,只需掌握刷新公式即可。
刷新公式
用于設(shè)置列與列之間的計(jì)算關(guān)系,例如訂單表中金額列的刷新公式應(yīng)該是:[數(shù)量]*[單價(jià)]*(1-[折扣])默認(rèn)值公式
用于設(shè)置某一列的默認(rèn)值,例如訂單管理系統(tǒng)中,可以將日期列的默認(rèn)值公式設(shè)為:Today(),這樣新增行會(huì)自動(dòng)輸入當(dāng)天的日期。
操作公式
操作公式并非用來計(jì)算,通常用來根據(jù)用戶輸入數(shù)據(jù)的變化,來完成某項(xiàng)操作,例如鎖定行或鎖定某列。行驗(yàn)證公式
行驗(yàn)證公式是一個(gè)邏輯表達(dá)式,用于驗(yàn)證當(dāng)前記錄是否符合某一指定的條件。在換行或者執(zhí)行任何命令之前,都會(huì)計(jì)算這個(gè)邏輯表達(dá)式,如果表達(dá)式不成立,那么會(huì)拒絕換行或執(zhí)行命令。行驗(yàn)證公式也可以用來在換行前執(zhí)行某些操作。表驗(yàn)證公式
表驗(yàn)證公式是一個(gè)邏輯表達(dá)式,用于驗(yàn)證當(dāng)前表是否符合某一指定的條件。在存盤或者切換到其他表之前,都會(huì)計(jì)算這個(gè)邏輯表達(dá)式,如果表達(dá)式不成立,那么會(huì)拒絕存盤或切換到其他表。表驗(yàn)證公式也可以用來在存盤或切換到其它表之前執(zhí)行某些操作。填充公式
用于設(shè)計(jì)統(tǒng)計(jì)系統(tǒng),通常用于從其他表中提取分組信息,重算全表的時(shí)候,首先執(zhí)行的是填充公式。統(tǒng)計(jì)公式
用于設(shè)計(jì)統(tǒng)計(jì)系統(tǒng),重算全表的時(shí)候,最后計(jì)算的是統(tǒng)計(jì)公式,通常用于對(duì)統(tǒng)計(jì)好的數(shù)據(jù)進(jìn)行進(jìn)一步的分析處理,例如刪除無效行、設(shè)置匯總模式等等。
表預(yù)處理公式
用戶翻開某個(gè)表的時(shí)候,就會(huì)執(zhí)行預(yù)處理公式,通常用來自動(dòng)翻開錄入窗口、列視圖、菜單方案,或者鎖定(取消鎖定)符合條件的行,還可以對(duì)用戶進(jìn)行一些預(yù)先提示。行預(yù)處理公式
用戶進(jìn)入某行數(shù)據(jù)的時(shí)候,就會(huì)立即執(zhí)行預(yù)處理公式,通常用來根據(jù)當(dāng)前用戶和當(dāng)前行數(shù)據(jù)進(jìn)行一些操作,例如提示用戶考前須知,或者鎖定〔或解鎖〕某些列,行預(yù)處理公式通常和列的操作公式配合使用。權(quán)限管理公式
翻開某個(gè)表,或者執(zhí)行篩選、取消篩選的命令或者函數(shù)的時(shí)候,就會(huì)執(zhí)行“權(quán)限管理公式”。通常用來根據(jù)不同用戶身份,隱藏局部行,使得每個(gè)用戶只能查看
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑工地安全6S管理制度
- 光伏發(fā)電環(huán)保評(píng)估方案
- 城市供水網(wǎng)絡(luò)優(yōu)化及施工方案
- 吉林大學(xué)《種子學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 2024電線電纜供貨合同樣本
- 2024店鋪?zhàn)赓U合同范本字
- 2024產(chǎn)品購銷合同書范本
- 大型餐飲企業(yè)中央廚房管理方案
- 吉林大學(xué)《數(shù)學(xué)建模的機(jī)械應(yīng)用》2021-2022學(xué)年第一學(xué)期期末試卷
- 2024專利權(quán)轉(zhuǎn)讓合同文本
- 新團(tuán)員團(tuán)課培訓(xùn)課件
- 學(xué)校籃球教練外聘協(xié)議書
- 工作流程改進(jìn)匯報(bào)
- 浙教版六年級(jí)勞動(dòng)項(xiàng)目三-任務(wù)二《創(chuàng)意班規(guī)巧設(shè)計(jì)》課件
- 高思學(xué)校競(jìng)賽數(shù)學(xué)課本五年級(jí)
- 計(jì)算機(jī)應(yīng)用與人工智能基礎(chǔ)項(xiàng)目9 人工智能
- 油田開發(fā)方案及調(diào)整方案經(jīng)濟(jì)評(píng)價(jià)技術(shù)要求
- 物業(yè)管理應(yīng)急響應(yīng)能力提升及案例分析
- 康復(fù)科常見疾病護(hù)理常規(guī)2023版
- 英漢互譯單詞練習(xí)打印紙
- 電器設(shè)備安裝安全操作規(guī)程
評(píng)論
0/150
提交評(píng)論