注冊(cè) 登錄
Office中國(guó)論壇/Access中國(guó)論壇 返回首頁(yè)

roych的個(gè)人空間 http://m.mzhfr.cn/?179386 [收藏] [復(fù)制] [分享] [RSS]

日志

如何開(kāi)發(fā)一個(gè)軟件系統(tǒng)之一

熱度 2已有 2652 次閱讀2012-11-11 17:35 |個(gè)人分類(lèi):隨便說(shuō)說(shuō)| 軟件, 系統(tǒng), 開(kāi)發(fā), 如何

       “看來(lái)你畢業(yè)已經(jīng)三、四年了,這三、四年來(lái),有些數(shù)據(jù)讓你頭疼,有些操作讓你覺(jué)得效率低下,它們讓你不得不加班。也許你想過(guò)殺了它們。但是你毫無(wú)辦法,又或者覺(jué)得可能性不大。其實(shí)想要提高效率很容易,我認(rèn)識(shí)一個(gè)朋友,他的Access很好,不過(guò)最近生活有點(diǎn)困難,只要你給他一點(diǎn)點(diǎn)銀子,他一定能幫你滅了它們。盡管考慮一下吧。其實(shí)用好Access并不是一件很容易的事,不過(guò)為了生活,很多人都會(huì)去學(xué)。”
       這段被串改的這段《東邪西毒》臺(tái)詞,或許會(huì)讓大家會(huì)心一笑,然而說(shuō)的卻也是事實(shí)。盡管論壇里有《Access一日速成法》,所謂“速成法”,關(guān)鍵在于對(duì)“成”的理解了。只是會(huì)使用的話,在對(duì)幾個(gè)操作查詢(xún)有著較深刻的理解的基礎(chǔ)上,這并非不可能。不過(guò),如果想要開(kāi)發(fā)軟件的話,我覺(jué)得一天時(shí)間應(yīng)該是不太夠了。

      如何開(kāi)發(fā)一個(gè)軟件,是一個(gè)比較宏大的命題。由于這個(gè)原因,對(duì)于開(kāi)發(fā)者而言,闡述起來(lái)多少有些困難,也因此而讓新手感到諱莫如深,更加增加了它的神秘感。

      開(kāi)發(fā)軟件是一件知易行難的事情。一般來(lái)說(shuō),學(xué)習(xí)Access一段時(shí)間之后(我自己的經(jīng)歷是三個(gè)月),便可以開(kāi)始著手編寫(xiě)一些小程序來(lái)提高工作效率了。一般來(lái)說(shuō),這時(shí)候最好還是先使用外部數(shù)據(jù)(例如鏈接表或者導(dǎo)入表),畢竟如果涉及到自建表,設(shè)計(jì)字段對(duì)于仍未能吃透Access的朋友來(lái)說(shuō),還是有些吃力的。

      事實(shí)上,工作中應(yīng)該常常會(huì)有一些這樣的表。例如考勤工資,員工姓名、級(jí)別、考勤表等數(shù)據(jù)都可以通過(guò)各部門(mén)來(lái)提交。而你只需要把這些數(shù)據(jù)進(jìn)行一個(gè)核對(duì)或核算即可。這樣的小程序應(yīng)該是很容易完成的。不過(guò),一旦完成這樣一個(gè)小程序便會(huì)培養(yǎng)起你的一種思考習(xí)慣。下面便以此為例,簡(jiǎn)要說(shuō)說(shuō)吧。

      開(kāi)始這個(gè)程序之前,你可以先把數(shù)據(jù)統(tǒng)一放在某個(gè)文件夾里。開(kāi)始鏈接表(當(dāng)然,導(dǎo)入表也是可以的),那么基礎(chǔ)表便算是處理完畢了。接下來(lái),就要思考怎么去完成這個(gè)流程了。假定流程上是,先按級(jí)別來(lái)分類(lèi),然后檢查是否滿(mǎn)勤,再檢查病假、事假扣款等,接著檢查是否加班,最后檢查中夜班津貼并核算。

       當(dāng)你比較熟悉這個(gè)流程之后,接下來(lái)便是設(shè)計(jì)查詢(xún)了。

       第一步,可以先把人員信息追加到工資表里;

       第二步,把級(jí)別工資更新到工資表里;

       第三步,更新滿(mǎn)勤情況、病假事假、加班、中夜班津貼等情況,具體怎么算,當(dāng)然得看公司政策了。

       第四步,導(dǎo)出數(shù)據(jù)。

       這時(shí)候,你是不是有些開(kāi)始佩服自己了:“哇,這么一個(gè)小程序就可以把我的工作效率提高那么多了,Access太神奇了……”

       真的大功告成了嗎?其實(shí)未必。把這些查詢(xún)做完之后,我們?nèi)砸M(jìn)行進(jìn)一步的檢查。第一次運(yùn)行顯然是沒(méi)問(wèn)題的。那么第二次呢?顯然,第一步的數(shù)據(jù)會(huì)再一次追加,數(shù)據(jù)出現(xiàn)重復(fù)。如何避免這種情況?

       為了避免重復(fù)追加,你可能會(huì)考慮設(shè)置工號(hào)為主鍵。不過(guò),設(shè)置主鍵的結(jié)果將是,上一次的數(shù)據(jù)仍在這里,新數(shù)據(jù)無(wú)法追加上來(lái),顯然不可行;設(shè)置不重復(fù)值追加怎么樣?我覺(jué)得也不可取,因?yàn)檫@樣的話,數(shù)據(jù)會(huì)不斷增加。最好的辦法便是清空數(shù)據(jù)再追加。那么什么時(shí)候清空呢?這就看你的習(xí)慣了。你可以在導(dǎo)出后清空數(shù)據(jù)(即第五步清空數(shù)據(jù)),也可以在追加之前先清空(第〇步)。

       這樣一來(lái),一個(gè)小程序才算是真正完成。接下來(lái)便是建立一個(gè)宏組,把這些步驟逐一放進(jìn)來(lái)(第1-5步所創(chuàng)建的查詢(xún)或者導(dǎo)出宏),為了更友好的提示,可以增加一個(gè)彈出對(duì)話框Msgbox。

      以后,每次需要計(jì)算薪資時(shí)便可以之間雙擊宏來(lái)運(yùn)行了。

發(fā)表評(píng)論 評(píng)論 (4 個(gè)評(píng)論)

回復(fù) ycxchen 2012-11-12 20:32
值得一學(xué)。我覺(jué)得對(duì)于總公司匯總分公司的數(shù)據(jù)的操作,通過(guò)VBA或其它辦法,設(shè)置不重復(fù)值追加也是十分有必要的。
回復(fù) roych 2012-11-15 10:42
ycxchen: 值得一學(xué)。我覺(jué)得對(duì)于總公司匯總分公司的數(shù)據(jù)的操作,通過(guò)VBA或其它辦法,設(shè)置不重復(fù)值追加也是十分有必要的。
這里只是舉例而已,每個(gè)人都有自己的編程習(xí)慣,不要求千篇一律……這部分是寫(xiě)軟件的起步,可以讓開(kāi)發(fā)者逐步學(xué)會(huì)理順流程,對(duì)進(jìn)階起著非常重要的作用!@個(gè)話題比較大,所以還得繼續(xù)寫(xiě)下去。
回復(fù) ycxchen 2012-11-15 16:28
期待版主大作!
回復(fù) WFH6898 2015-11-29 09:28
教材般的文章,培養(yǎng)軟件思維,值得學(xué)習(xí)推廣

facelist doodle 涂鴉板

您需要登錄后才可以評(píng)論 登錄 | 注冊(cè)

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2025-7-13 08:58 , Processed in 0.141776 second(s), 18 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回頂部