Office中國(guó)論壇/Access中國(guó)論壇
標(biāo)題:
【Access小品】護(hù)士美眉 -- 報(bào)表管理器示例
[打印本頁(yè)]
作者:
todaynew
時(shí)間:
2015-6-15 14:31
標(biāo)題:
【Access小品】護(hù)士美眉 -- 報(bào)表管理器示例
本帖最后由 todaynew 于 2015-6-16 20:16 編輯
[attach]56606[/attach] 報(bào)表軟件有很多種并各有特點(diǎn),如果需要也可自行編制報(bào)表軟件。用Access編制報(bào)表軟件并不容易,主要的原因在于控件不夠豐富。確實(shí)想用Access編寫,也不是不可以,只是要因陋就簡(jiǎn)就地取材,編寫出一個(gè)土豪般的報(bào)表軟件也完全可行。
要想寫出報(bào)表軟件的關(guān)鍵是要弄清楚什么是報(bào)表管理系統(tǒng)?簡(jiǎn)單的講,報(bào)表管理系統(tǒng)就是將數(shù)據(jù)寫入載體的系統(tǒng),這是一個(gè)很抽象的表述。這個(gè)抽象的表述,將報(bào)表系統(tǒng)看成由三個(gè)部分組成,其一是數(shù)據(jù),其二是載體,其三是一個(gè)能將數(shù)據(jù)與載體有機(jī)結(jié)合的管理器。
也許你抽象思維的能力不強(qiáng),那就給你打個(gè)比方:有一天你生病了,于是你到醫(yī)院看醫(yī)生。醫(yī)生給你開了處方,你到注射室去打針。漂亮的護(hù)士小姐拿到你給的處方,將藥劑吸入針管,然后扎進(jìn)你的臀部。注意!別把目光集中在漂亮的護(hù)士小姐身上,而需要關(guān)注的是:藥劑、針管和你的臀部。藥劑就是數(shù)據(jù)、你的臀部就是載體,而針管和護(hù)士小姐就是報(bào)表的管理器。
護(hù)士小姐和針管這個(gè)管理器,在你進(jìn)入注射室之前是不知道數(shù)據(jù)是什么和載體是什么的。報(bào)表管理器也是一樣,它并不知道用戶會(huì)將什么數(shù)據(jù)輸出到什么載體上去。護(hù)士小姐能準(zhǔn)確的將你需要的藥劑通過(guò)針管輸出到你的體內(nèi),并治愈你的病癥。那么報(bào)表管理器所要實(shí)現(xiàn)的功能也就是,有能力按照用戶的需要將數(shù)據(jù)輸出到載體上去。
這里出現(xiàn)了一個(gè)你可能沒有意識(shí)到的概念,這個(gè)概念叫做:注入。在講這個(gè)概念之前,先需要提示一句你可能耳熟能詳?shù)脑挘骸暗婉詈、高?nèi)聚!边@是編程過(guò)程中,時(shí)刻需要牢記的一句話,但是實(shí)現(xiàn)它并不容易。包括報(bào)表管理系統(tǒng)在內(nèi)的很多系統(tǒng),都是需要功能上的耦合的,沒有耦合也就無(wú)法運(yùn)行。問(wèn)題的關(guān)鍵是高度的耦合會(huì)失去靈活性和通用性,導(dǎo)致編程和維護(hù)的困難。所以,人們都力求降低耦合,而降低耦合的方法之一就是采用注入的方法,使得需要的時(shí)候進(jìn)行耦合,不需要的時(shí)候不耦合。簡(jiǎn)單的理解,就是招之即來(lái)?yè)]之即去。
當(dāng)你進(jìn)入注射室之前,護(hù)士小姐的針管與藥劑之間,針管與你的臀部之間是沒有耦合的。只有當(dāng)你將處方交給給護(hù)士小姐時(shí),注入發(fā)生,于是針管與藥劑,針管與你的臀部進(jìn)行了耦合。在這個(gè)耦合的基礎(chǔ)上,護(hù)士小姐完成了對(duì)你的注射。注射完畢后解耦,你走你的陽(yáng)關(guān)道,護(hù)士小姐依然靜靜的等待下一個(gè)需要注射的人。
你可能已經(jīng)有點(diǎn)明白了。報(bào)表管理系統(tǒng)就是用幾條SQL語(yǔ)句注入,然后通過(guò)一定的配置和約定,向各種載體(Word、Excel或其他能呈現(xiàn)數(shù)據(jù)的載體)注入報(bào)表數(shù)據(jù)的系統(tǒng)。下面的示例就是這樣的一個(gè)系統(tǒng),而且這是這個(gè)示例極力要表現(xiàn)的最重要的內(nèi)容。當(dāng)你打開這個(gè)系統(tǒng),并閱讀代碼時(shí),你可能會(huì)被迷惑。因?yàn)樽畲罅康拇a解決的并非注入的問(wèn)題,因?yàn)閷?shí)現(xiàn)注入的思路明確后,代碼量是非常之少的。
最大量的代碼解決的是易用性的問(wèn)題,這是一個(gè)關(guān)于用戶使用的便捷性的問(wèn)題。也就是要解決當(dāng)你將處方單遞給護(hù)士后,護(hù)士能在最短的時(shí)間,最方便的用針扎你的臀部。解決這個(gè)問(wèn)題,需要非常復(fù)雜的代碼。不過(guò)我要強(qiáng)調(diào)的是這不是關(guān)鍵,或者說(shuō)這不是第一位要解決的問(wèn)題。只是在你需要學(xué)習(xí)如何設(shè)計(jì)用戶界面時(shí),這部分的內(nèi)容才有價(jià)值和意義。
示例:[attach]56598[/attach]
視圖:
[attach]56599[/attach]
作者:
風(fēng)中漫步
時(shí)間:
2015-6-15 14:34
視圖?
作者:
todaynew
時(shí)間:
2015-6-15 14:36
風(fēng)中漫步 發(fā)表于 2015-6-15 14:34
視圖?
誰(shuí)讓你這么快的。
作者:
風(fēng)中漫步
時(shí)間:
2015-6-15 14:48
斑竹的好文當(dāng)然要先睹為快了
作者:
風(fēng)中漫步
時(shí)間:
2015-6-15 15:02
不錯(cuò)
作者:
admin
時(shí)間:
2015-6-15 15:08
好示例,贊一下
作者:
yanwei82123300
時(shí)間:
2015-6-15 16:46
好示例,贊一下
作者:
hunrybecky
時(shí)間:
2015-6-16 22:43
不錯(cuò)。。。todaynew的例子錯(cuò)的非常棒,而且堅(jiān)持不懈。。
作者:
admin
時(shí)間:
2015-6-18 09:34
很好,很強(qiáng)大!
作者:
zhao__feng
時(shí)間:
2015-7-1 19:39
謝謝分享,學(xué)習(xí)了
作者:
yangkaifu
時(shí)間:
2015-9-17 23:36
看看學(xué)習(xí)拉
作者:
czzlj520
時(shí)間:
2016-1-12 22:36
學(xué)習(xí)下,初學(xué),謝謝,分享!
作者:
冚友
時(shí)間:
2016-1-19 22:52
學(xué)習(xí)一下
作者:
Power.Sir.Cz
時(shí)間:
2016-2-7 16:37
學(xué)習(xí)了
作者:
owen2016
時(shí)間:
2016-8-20 11:13
已經(jīng)下載學(xué)習(xí),謝謝
歡迎光臨 Office中國(guó)論壇/Access中國(guó)論壇 (http://www.mzhfr.cn/)
Powered by Discuz! X3.3