畢業(yè)設(shè)計(jì)(論文)數(shù)據(jù)庫(kù)管理系統(tǒng)(小型商場(chǎng)管理系統(tǒng))_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)數(shù)據(jù)庫(kù)管理系統(tǒng)(小型商場(chǎng)管理系統(tǒng))_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)數(shù)據(jù)庫(kù)管理系統(tǒng)(小型商場(chǎng)管理系統(tǒng))_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)數(shù)據(jù)庫(kù)管理系統(tǒng)(小型商場(chǎng)管理系統(tǒng))_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)數(shù)據(jù)庫(kù)管理系統(tǒng)(小型商場(chǎng)管理系統(tǒng))_第5頁(yè)
已閱讀5頁(yè),還剩44頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、畢業(yè)設(shè)計(jì)(論文)題 目 數(shù)據(jù)庫(kù)管理系統(tǒng) (小型商場(chǎng)管理系統(tǒng))專(zhuān) 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 層 次 學(xué)習(xí)形式 脫產(chǎn) 班 級(jí) 2000計(jì)機(jī) 學(xué) 生 指導(dǎo)教師 華南理工大學(xué)繼續(xù)教育學(xué)院 年目 錄前 言4摘 要5數(shù)據(jù)庫(kù)基本概念.7數(shù)據(jù)庫(kù)的發(fā)展歷史.7數(shù)據(jù)庫(kù)系統(tǒng)的組成.7數(shù)據(jù)庫(kù)設(shè)計(jì)概述.8數(shù)據(jù)庫(kù)的設(shè)計(jì).8數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程.8foxpro概述.8在設(shè)計(jì)過(guò)程過(guò)遇到的問(wèn)題和解決方案.9常用命令函數(shù),對(duì)象,屬性,事件,方法.12系統(tǒng)簡(jiǎn)介.13小型商場(chǎng)管理系統(tǒng)結(jié)構(gòu)圖.14系統(tǒng)功能介紹.15系統(tǒng)庫(kù)文件結(jié)構(gòu)介紹.16各庫(kù)的關(guān)聯(lián).18系統(tǒng)設(shè)計(jì)流程.19創(chuàng)建項(xiàng)目文件.19創(chuàng)建數(shù)據(jù)庫(kù).20創(chuàng)建表單.20創(chuàng)建視圖.21創(chuàng)建報(bào)表.

2、23連項(xiàng)目文件與可執(zhí)行文件.24表單分析.25銷(xiāo)售表單.25按數(shù)量統(tǒng)計(jì).34登錄表單.36菜單表單.38小結(jié).41我所負(fù)責(zé)的部分:銷(xiāo)售模塊;銷(xiāo)售統(tǒng)計(jì)模塊(按金錢(qián)統(tǒng)計(jì)、按數(shù)量統(tǒng)計(jì)、清空銷(xiāo)售記錄);員工管理(員工資料輸入、員工資料刪改、更改密碼);報(bào)表打印模塊(日統(tǒng)計(jì)、月統(tǒng)計(jì)、打印庫(kù)存資料);登錄;主菜單。前 言從第一臺(tái)計(jì)算機(jī)的誕生,經(jīng)過(guò)幾十年的發(fā)展,計(jì)算機(jī)技術(shù)的應(yīng)用領(lǐng)域越來(lái)越廣。在生活中有很多復(fù)雜的數(shù)據(jù),單靠人腦來(lái)記憶是很困難的事,但計(jì)算機(jī)的出現(xiàn)給人類(lèi)帶來(lái)了很多方便。信息產(chǎn)業(yè)是目前世界上比較流行的產(chǎn)業(yè)之一,數(shù)據(jù)庫(kù)在信息產(chǎn)業(yè)中起到了重要的作用。在計(jì)算機(jī)的發(fā)展過(guò)程中,要處理的數(shù)據(jù)量呈幾何級(jí)的增長(zhǎng),數(shù)

3、據(jù)間的復(fù)雜性也隨著增加。為了方便人們充分利用信息資源,經(jīng)過(guò)不斷發(fā)展,逐漸形成了數(shù)據(jù)庫(kù)技術(shù)。數(shù)據(jù)庫(kù)于20世紀(jì)60年代末產(chǎn)生,目前數(shù)據(jù)庫(kù)技術(shù)已經(jīng)滲透到計(jì)算機(jī)應(yīng)用的每個(gè)領(lǐng)域?;仡^看數(shù)據(jù)庫(kù)的發(fā)展歷史,會(huì)不得不由衷地感謝本領(lǐng)域的前輩做出的重大貢獻(xiàn)。數(shù)據(jù)庫(kù)技術(shù)的發(fā)展大致經(jīng)過(guò)三個(gè)階段:一是人工智能階段;二是文件系統(tǒng)階段;三是數(shù)據(jù)庫(kù)系統(tǒng)階段。這次我們負(fù)責(zé)設(shè)計(jì)的是小型商場(chǎng)管理系統(tǒng)系統(tǒng)。這個(gè)系統(tǒng)主要由六個(gè)模塊組成,分別是銷(xiāo)售、進(jìn)貨、銷(xiāo)售統(tǒng)計(jì)、系統(tǒng)維護(hù)、報(bào)表打印、退出系統(tǒng)。這些模塊界面良好,操作方便,并具有查詢(xún)、添加、修改、增刪、瀏覽打印的功能,這次設(shè)計(jì)在windows98中文版平臺(tái),采用microsoft vis

4、ual foxpro6.0中文版。摘要本設(shè)計(jì)書(shū)詳細(xì)的記述了使用foxpro6.0設(shè)計(jì)小型商場(chǎng)管理系統(tǒng)應(yīng)用程序的過(guò)程。首先介紹數(shù)據(jù)庫(kù)技術(shù)的發(fā)展及基本理論和本次設(shè)計(jì)外遇問(wèn)題及其解決方法,然后介紹visual foxpro6.0程序設(shè)計(jì)基礎(chǔ)和表、表單、控件、視圖、報(bào)表的設(shè)計(jì)方法。主要用到的表單控件:文本框、表格、命令按鈕等。該設(shè)計(jì)利用表單設(shè)計(jì)器建立總體的菜單結(jié)構(gòu),利用foxpro6.0強(qiáng)大的數(shù)據(jù)輸入、處理、查詢(xún)、生成報(bào)表和數(shù)據(jù)庫(kù)管理方面的功能,開(kāi)發(fā)出具有銷(xiāo)售、進(jìn)貨、銷(xiāo)售統(tǒng)計(jì)和查詢(xún)、資料維護(hù)、密碼修改等功能的小型商場(chǎng)管理系統(tǒng)應(yīng)用程序,并利用表單設(shè)計(jì)器,設(shè)計(jì)出良好的視覺(jué)界面。其后是在這次的團(tuán)體設(shè)計(jì)中,我

5、所負(fù)責(zé)設(shè)計(jì)的模塊中以銷(xiāo)售和按數(shù)量分類(lèi)統(tǒng)計(jì)等表單為例,對(duì)我的設(shè)計(jì)思路給予介紹,以及對(duì)其過(guò)程程序進(jìn)行詳細(xì)的分析。最后我將對(duì)這次畢業(yè)設(shè)計(jì)進(jìn)行小結(jié)。summarythis design the book is detailed to record the usage foxpro6.0 to design the small scaled market to manage the system to apply the procedures process.introduce the development and the basic theories of the database techniqu

6、e first with this design affairs problem and its solution method, then introduce the visual foxpro6.0 the procedure design the foundation with the form, form and list, piece design method for, seeing the diagram, statement.primarily form and list that use piece:text this , form, the order press butt

7、on the etc.should design to make use of the form and list to design this to establish the total menu construction, and make use of the mighty data of foxpro6.0 input, handle, search, the born statement manage the aspects function with database, and develop out to have sale, enter goods, sale statist

8、ics with search, data maintenance, the password modify etc. the functions small scaled market to manage system application procedure, and make use of the form and list to design , and design out the good sense of vision interface.afterward is in the design inside of this group, my an inside is then

9、to sell with press quantity classification statistics two form and lists are for the example, analysis way of thinking of my design gave introduce, and as to its process procedure proceed detailedly.at last,id like to make a conclusion to this graduation design program數(shù)據(jù)庫(kù)的基本概念數(shù)據(jù)庫(kù)技術(shù)是在60年代未興起的一種數(shù)據(jù)管理技術(shù)

10、。數(shù)據(jù)庫(kù)在英語(yǔ)中的稱(chēng)為database.拆開(kāi)來(lái)看,data是數(shù)據(jù)。base可譯為基地。所以在通俗的意義上,數(shù)據(jù)庫(kù)不妨理解為存儲(chǔ)數(shù)據(jù)的基地或倉(cāng)庫(kù)。1. 數(shù)據(jù)庫(kù)的發(fā)展歷史: 在計(jì)算機(jī)不斷發(fā)展的過(guò)程中,數(shù)據(jù)的處理量不斷的增長(zhǎng),數(shù)據(jù)之間復(fù)雜程度也隨著增加,這時(shí)出現(xiàn)了數(shù)據(jù)庫(kù)技術(shù),它幫助處理和管理復(fù)雜的數(shù)據(jù),更能充分利用信息資源,數(shù)據(jù)庫(kù)在20世紀(jì)60年代末出現(xiàn),經(jīng)過(guò)幾十年的發(fā)展大致有三個(gè)階段:1) 人工發(fā)展階段:這一階段的計(jì)算機(jī)主要用于單純的科學(xué)計(jì)算2) 文件系統(tǒng)階段:這一階段計(jì)算機(jī)不僅用于科學(xué)計(jì)算,還大量用于管理,這時(shí)的計(jì)算機(jī)有了直接存取的存儲(chǔ)設(shè)備,操作系統(tǒng)中有了管理數(shù)據(jù)軟件, 處理方式有了能夠聯(lián)機(jī)實(shí)時(shí)

11、處理。3) 數(shù)據(jù)庫(kù)系統(tǒng)階段:這一時(shí)期計(jì)算機(jī)應(yīng)用廣泛,數(shù)據(jù)量急劇增長(zhǎng),計(jì)算機(jī)的軟硬件都發(fā)展很快。2. 數(shù)據(jù)庫(kù)系統(tǒng)的組成:數(shù)據(jù)庫(kù)系統(tǒng)由數(shù)據(jù)庫(kù)、軟件系統(tǒng)、硬件系統(tǒng)、數(shù)據(jù)管理員四個(gè)要素組成。它們之間構(gòu)成有機(jī)的整體,相互配合和依靠,為用戶(hù)提供各類(lèi)信息服務(wù)。1)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)是根據(jù)用戶(hù)的需要按一定形式存儲(chǔ)的數(shù)據(jù)的集合。集成不是簡(jiǎn)單的相加,而是統(tǒng)籌考慮各個(gè)相關(guān)應(yīng)用領(lǐng)域的信息需求,除去不必要的冗余,實(shí)現(xiàn)數(shù)據(jù)的最大程度的共享。其內(nèi)容主要分為兩部分:一是物理數(shù)據(jù)庫(kù),記載了所有數(shù)據(jù);二是數(shù)據(jù)字典,描述了不同數(shù)據(jù)之間的關(guān)系和數(shù)據(jù)組織的結(jié)構(gòu)。2)軟件系統(tǒng)軟件系統(tǒng)包括了數(shù)據(jù)庫(kù)管理系統(tǒng)dbms、操作系統(tǒng)、應(yīng)用程序開(kāi)發(fā)工具及應(yīng)

12、用程序。 數(shù)據(jù)庫(kù)管理系統(tǒng)是整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的核心,由dbms調(diào)用操作系統(tǒng)的相關(guān)部分來(lái)執(zhí)行。操作系統(tǒng)創(chuàng)建并維護(hù)了dbms的運(yùn)行環(huán)境。應(yīng)用程序開(kāi)發(fā)工具用來(lái)開(kāi)發(fā)數(shù)據(jù)庫(kù)相關(guān)的應(yīng)用程序,本次用來(lái)設(shè)計(jì)的vpf6.0就是一種優(yōu)秀的工具,它功能全,有極高的處理數(shù)據(jù)速度。3)硬件系統(tǒng)硬件系統(tǒng)是指支持?jǐn)?shù)據(jù)庫(kù)系統(tǒng)運(yùn)行的全部硬件,一般由cpu、主存、外存等組成。4)數(shù)據(jù)庫(kù)管理員數(shù)據(jù)庫(kù)管理員dba是專(zhuān)門(mén)負(fù)責(zé)數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)、運(yùn)行和維護(hù)的專(zhuān)職人員,他們?cè)跀?shù)據(jù)庫(kù)系統(tǒng)的規(guī)劃、設(shè)計(jì)、運(yùn)行階段擔(dān)當(dāng)著重要任務(wù)。數(shù)據(jù)庫(kù)管理員的工作非常煩瑣和復(fù)雜,往往由幾人組成小組進(jìn)行設(shè)計(jì)。3. 數(shù)據(jù)庫(kù)設(shè)計(jì)概述:數(shù)據(jù)庫(kù)設(shè)計(jì)是從用戶(hù)對(duì)數(shù)據(jù)的需求為出發(fā)點(diǎn),研

13、究并構(gòu)造數(shù)據(jù)庫(kù)結(jié)構(gòu)的過(guò)程,這里的數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)庫(kù)的邏輯和物理結(jié)構(gòu)。數(shù)據(jù)庫(kù)設(shè)計(jì)有兩個(gè)重要的目標(biāo),既滿(mǎn)足應(yīng)用功能和好的數(shù)據(jù)庫(kù)性能。滿(mǎn)足應(yīng)用功能,主要指用戶(hù)當(dāng)前與可預(yù)知的將來(lái)應(yīng)用所需的數(shù)據(jù)和其聯(lián)系準(zhǔn)確地存放到數(shù)據(jù)庫(kù)中,從而滿(mǎn)足用戶(hù)對(duì)所需對(duì)數(shù)據(jù)庫(kù)的操作。好的數(shù)據(jù)庫(kù)性能,主要指對(duì)數(shù)據(jù)的高效率和空間的節(jié)省,并具有好的數(shù)據(jù)共享性、完整性、一致性和安全性。數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞,不僅影響到當(dāng)前的應(yīng)用,也影響以后的維護(hù)工作。4. 數(shù)據(jù)庫(kù)設(shè)計(jì)的過(guò)程:1)系統(tǒng)分析 系統(tǒng)分析的目標(biāo)是了解與分析用戶(hù)的信息及應(yīng)用處理的要求。并將結(jié)果形成需求說(shuō)明書(shū)。2)概念設(shè)計(jì)概念設(shè)計(jì)的目標(biāo)是對(duì)需求說(shuō)明書(shū)提供的所有信息和應(yīng)用處理要求進(jìn)行抽象與

14、綜合處理,并按照一定的方法構(gòu)造相應(yīng)的概念模型。3)實(shí)現(xiàn)設(shè)計(jì)實(shí)現(xiàn)設(shè)計(jì)的目標(biāo)是將概念模型轉(zhuǎn)換成特定數(shù)據(jù)管理系統(tǒng)所接受的數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)。數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)通常由層次、網(wǎng)狀和關(guān)系的數(shù)據(jù)模型表示。4)物理設(shè)計(jì)物理設(shè)計(jì)的目標(biāo)是將數(shù)據(jù)庫(kù)轉(zhuǎn)換為特定計(jì)算機(jī)能接受的數(shù)據(jù)庫(kù)。物理設(shè)計(jì)的主要內(nèi)容是選擇數(shù)據(jù)的存儲(chǔ)方式及檢索技術(shù)。數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程一、foxpro概述:foxpro是美國(guó)fox software公司推出的用于微機(jī)平臺(tái)的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),可以幫助用戶(hù)收集、恢復(fù)和描述數(shù)據(jù)。foxpro的功能強(qiáng)大,速度高,有完整豐富的工具、非常友好的用戶(hù)界面、簡(jiǎn)單的數(shù)據(jù)存取方式,并具有良好的兼容性、跨平臺(tái)特性及可編擇性。 foxp

15、ro是一種在微機(jī)上小型事物管理系統(tǒng)中廣泛應(yīng)用的數(shù)據(jù)庫(kù)系統(tǒng)軟件,它在foxbase的基礎(chǔ)上引入集成不幸、報(bào)表自動(dòng)生成和關(guān)系舉例檢索等功能,并且提高運(yùn)行速度。foxpro與foxbase百分之一百兼容,foxbase的命令及函數(shù)在foxpro中均可使用。該系統(tǒng)分為單用戶(hù)版本和多用戶(hù)版。這兩類(lèi)版本各有一個(gè)32位增強(qiáng)型版本。foxpro較forbase具有以下特點(diǎn):1foxpro是當(dāng)時(shí)dos系統(tǒng)中唯一支持鼠標(biāo)的數(shù)據(jù)庫(kù)產(chǎn)品,它自動(dòng)透明地支持鼠標(biāo),它無(wú)鼠標(biāo)時(shí)一樣可完善地進(jìn)行工作。2對(duì)foxbase的語(yǔ)句做了大量的擴(kuò)展。例如foxpro比f(wàn)oxbase增加了200余條命令和函數(shù),增加了系統(tǒng)內(nèi)部變量。增加了同

16、時(shí)打開(kāi)的工作區(qū)數(shù)和索引文件數(shù)3foxpro比其它數(shù)據(jù)庫(kù)產(chǎn)品處理速度快。特別是進(jìn)行某些查詢(xún)時(shí),其快速查找技術(shù)rushmore可以使較大的數(shù)據(jù)庫(kù)的查找速度比其它產(chǎn)品快幾百倍甚至上千倍。4foxpro中的rqbe(relation puery by example)窗口,可使用與建立其它對(duì)象相同的方法來(lái)建立一個(gè)sql查詢(xún),人一個(gè)或多個(gè)數(shù)據(jù)庫(kù)中提取信息。 5forpro中的使用兩種索引文件:?jiǎn)嗡饕募蛷?fù)合索引文件。單索引文件可以有效地減少索引文件所需的磁盤(pán)空間。建立復(fù)合索引后,每次修改數(shù)據(jù)庫(kù)不必先打開(kāi)索引文件,使用時(shí)分方便,且foxpro的復(fù)合索引文件把一個(gè)數(shù)據(jù)庫(kù)文件中的所有索引字段都放在一個(gè)唯一的

17、索引文件中。6foxpro提供了工程文件來(lái)記錄一個(gè)程序所需數(shù)據(jù)庫(kù)文件、索引文件、屏幕、菜單、報(bào)表、查詢(xún)、標(biāo)簽以及他格式的文件。用戶(hù)還可以使工程文件建立一個(gè)在foxpro內(nèi)部使用的應(yīng)用程序或程序員感興趣的.exe文件。7foxpro采用高級(jí)外部程序接口(api),使用戶(hù)方便的運(yùn)用c語(yǔ)言、匯編語(yǔ)言完成涉及系統(tǒng)底層的程序設(shè)計(jì)。8foxpro可以運(yùn)行在ms dos windows unix等操作系統(tǒng)環(huán)境下,并保持其對(duì)每一級(jí)用戶(hù)擁有相同的用戶(hù)界面、工具和語(yǔ)言。其中windows下的foxpro支持動(dòng)態(tài)數(shù)據(jù)庫(kù)交換、目標(biāo)鏈接與嵌入。9使用foxpro時(shí),一切工作均可圍繞工作菜單與窗口進(jìn)行,可以利用界面對(duì)數(shù)據(jù)

18、進(jìn)行操作,也呆以利用界面編寫(xiě)、編譯應(yīng)用程序。操作時(shí)可能使用鼠標(biāo),也可使用鍵盤(pán)。應(yīng)用程序的開(kāi)發(fā)者可使用帶有調(diào)試工具的集成開(kāi)發(fā)環(huán)境、xbase語(yǔ)言、項(xiàng)目管理工具及應(yīng)用程序生成器,開(kāi)發(fā)出功能和有強(qiáng)的圖形應(yīng)用程序,實(shí)現(xiàn)窗口技術(shù)、鼠標(biāo)操作、各種形式的菜單等二、在設(shè)計(jì)過(guò)程過(guò)遇到的問(wèn)題和解決方案:1.程序的調(diào)試:我們?cè)诰幊虝r(shí)難免都會(huì)出錯(cuò),出錯(cuò)以后怎樣找出錯(cuò)誤的地方就變得很重要了,只有正確找出錯(cuò)誤的地方才可以將其改正,下面我就談一些查錯(cuò)的常用方法。如果在我們程序中有語(yǔ)法性的錯(cuò)誤,當(dāng)程序運(yùn)行到錯(cuò)誤的語(yǔ)句時(shí)系統(tǒng)就會(huì)停下來(lái),并提示我們程序有錯(cuò),往往還會(huì)說(shuō)出是什么錯(cuò)誤,如“命令中含有不能識(shí)別的短語(yǔ)或關(guān)鍵字”,并給出選

19、擇“取消”、“掛起”、“忽略”、“幫助”四個(gè)選擇,它們的意思分別是:取消中止程序運(yùn)行,回到命令窗口,相當(dāng)于執(zhí)行了cancel命令,在程序中創(chuàng)建的所有變量被釋放(除公共變量),但數(shù)據(jù)庫(kù)及數(shù)據(jù)表一般保持當(dāng)時(shí)的狀態(tài),您可以用browse命令查看數(shù)據(jù)表的內(nèi)容即記錄指針?biāo)诘奈恢玫鹊?;掛起暫停程序,相?dāng)于執(zhí)行了suspend命令,這時(shí)程序中的所有變量都保持原值,您可以用?命令查看變量的值,當(dāng)然也可以查看數(shù)據(jù)表的情況;忽略忽略所出現(xiàn)的錯(cuò)誤,即跳過(guò)出錯(cuò)的語(yǔ)句繼續(xù)執(zhí)行后面的語(yǔ)句;幫助顯示有關(guān)出錯(cuò)的幫助信息,對(duì)于錯(cuò)誤做更詳細(xì)的說(shuō)明。不過(guò)很多時(shí)候都沒(méi)什么幫助。如果你看出問(wèn)題出在哪,那么您可以用取消,然后進(jìn)到程序中

20、找出錯(cuò)誤所在,將其改正。在選擇了取消后,可能這時(shí)有表單是打開(kāi)的,那么用鼠標(biāo)點(diǎn)一下該窗口,然后調(diào)菜單上的文件關(guān)閉。如果菜單是您自己的自定義菜單,用set sysmenu to default回到系統(tǒng)菜單。改完后,再次運(yùn)行程序前,最好將所有的數(shù)據(jù)庫(kù)及表關(guān)閉,以免在程序打開(kāi)一個(gè)數(shù)據(jù)表時(shí)出現(xiàn)表已打開(kāi)的錯(cuò)誤,比較好的辦法是在程序開(kāi)頭先關(guān)閉所有的數(shù)據(jù)庫(kù)及表。關(guān)閉所有數(shù)據(jù)庫(kù)的命令是:close databases all,關(guān)閉所有表的命令是:close tables all。如果你不知道問(wèn)題出在程序的哪個(gè)地方,那么就選擇掛起,系統(tǒng)會(huì)彈出一個(gè)調(diào)試器窗口顯示出錯(cuò)的語(yǔ)句,在跟蹤窗口的黃色箭頭所指的語(yǔ)句就是出錯(cuò)的語(yǔ)

21、句。這時(shí)不要馬上改程序,因?yàn)槌绦蜻€沒(méi)有結(jié)束運(yùn)行,如要改程序應(yīng)先終止程序運(yùn)行,按調(diào)試中的終止按鈕,然后退出調(diào)試器(菜單上的文件退出),接下來(lái)與上面選擇取消后的處理方法相同。2. 模式表單的應(yīng)用在運(yùn)行表單時(shí),往往因?yàn)榇蜷_(kāi)了另一個(gè)表單,而造成一些庫(kù)文件的使用沖突。通常的解決方法有兩種。第一,在表單設(shè)計(jì)時(shí)把使用的庫(kù)文件的buffermodeoverride屬性設(shè)為5(開(kāi)放式表緩沖),并以tableupdate(.t.)來(lái)保存更改,這樣就能在多個(gè)表單同時(shí)使用庫(kù)文件時(shí)不會(huì)有沖突,但是這種方法有時(shí)會(huì)使程序進(jìn)行中的數(shù)據(jù)更新不及時(shí),而使程序進(jìn)行不正常。因?yàn)樵谖业脑O(shè)計(jì)中使用了第二種方法把表單設(shè)置為模式表單。模式表

22、單一般地被用來(lái)處理錯(cuò)誤報(bào)告,或者請(qǐng)求用戶(hù)確認(rèn)操作等。在模式表單中,菜單不能使用(從而避免了重復(fù)打開(kāi)表單的沖突)。如果需要,模式表單也提供應(yīng)用等待狀態(tài)。3. 在應(yīng)用程序中避免出現(xiàn)vfp的窗口標(biāo)題在生成exe文件后,進(jìn)行程序時(shí),程序的標(biāo)題默認(rèn)為microsoftvisualfoxpro,改為自定義標(biāo)題的方法如下:在config.fpw文件中,加title = 你的標(biāo)題行。另外, 也可以在主程序中加入:_screen.caption=你的標(biāo)題4. 當(dāng)filter設(shè)置時(shí),應(yīng)該用locate代替seek當(dāng)你的查找字段是建立了索引且當(dāng)前索引是該索引時(shí),seek 通常是查找單個(gè)記錄的最快的方法。不過(guò),當(dāng)設(shè)置

23、了filter時(shí),seek 非常慢。理由是seek將查找符合你的搜索標(biāo)準(zhǔn)的第一個(gè)記錄。foxpro為了移動(dòng)記錄指針到相應(yīng)的記錄上,必須找到和你的標(biāo)準(zhǔn)相匹配且和filter條件相稱(chēng)的記錄。和 seek不同, locate 是可進(jìn)行rushmore優(yōu)化的.當(dāng)一個(gè)可優(yōu)化的filter 起作用時(shí),locate for custid=m.custid 通常比seek m.custid 更快。在go top 和 go bottom 中也存在相似的問(wèn)題。用無(wú)子句的locate來(lái)執(zhí)行g(shù)o top,將會(huì)使記錄指針移動(dòng)到乎合filter 條件的第一個(gè)記錄。要執(zhí)行 go bottom, 設(shè)置當(dāng)前索引標(biāo)識(shí)的降序然后l

24、ocate, 在將索引設(shè)置為原來(lái)的升序。5. 當(dāng)所有窗口打開(kāi)時(shí),怎樣才能看到vfp桌面上的內(nèi)容在程序設(shè)計(jì)時(shí),通常要開(kāi)兩個(gè)或以上的的窗口,但是這樣一來(lái),要使用vfp桌面上的東西就要一個(gè)個(gè)的縮小或關(guān)閉。這里有一個(gè)簡(jiǎn)單的方法:按alt+ctrl+shift將把全部打開(kāi)的窗口隱藏起來(lái),直到放開(kāi)鍵。這樣就能直接看到桌面了。6.設(shè)置焦點(diǎn)為了使用戶(hù)在使用程序時(shí)更加方法,通常會(huì)在一個(gè)文本框輸入結(jié)果后,自動(dòng)把光標(biāo)指定在下一個(gè)應(yīng)該輸入的框中,其方法是在事件中使用setfocus(),但是setfocus()不能從一個(gè)對(duì)象的valid事件中把焦點(diǎn)設(shè)置到另一個(gè)對(duì)象上。應(yīng)該用lostfocus事件作為替代。(有特殊情況

25、時(shí)可以使用其它事件代替)。7. datasource 屬性和 controlsource 屬性之間,以及 rowsource屬性和 recordsource 屬性的區(qū)別datasource 屬性可以影響存儲(chǔ)在一個(gè)數(shù)據(jù)庫(kù) (.dbc) 中的 odbc 視圖。它包含了對(duì)連接到 odbc 數(shù)據(jù)文件名稱(chēng)的引用,并且必須指向一個(gè)通過(guò) odbc管理程序定義的有效的數(shù)據(jù)源。您可以使用 sqlsetprop( ) 函數(shù)操作 datasource屬性,而用 sqlgetprop( ) 函數(shù)可以查看它的設(shè)置。controlsource 屬性用來(lái)確定一個(gè)對(duì)象所綁定的數(shù)據(jù)源;一個(gè)對(duì)象所綁定的表或者視圖可以為任意類(lèi)型,

26、包括本地 visual foxpro 表,具有 controlsource 屬性的對(duì)象有:checkbox、column、combobox、commandgroup、editbox、listbox、ole bound control、 optionbutton、optiongroup、spinner 和 textbox 控件。某些控件(listbox 和 combobox)除了 controlsource 屬性之外,還有 rowsource屬性允許您一次顯示多于一個(gè)字段和行。數(shù)據(jù)仍然是與單一的字段綁定的,這就是為什么這些控件需要 controlsource 屬性。表格控件是唯一具有 recor

27、dsource屬性的控件,但是沒(méi)有 controlsource 屬性。對(duì)于表格控件,數(shù)據(jù)是與一個(gè)完整的記錄綁定的。8. 迅速地在屬性窗口中定位一般的情況下在表單的設(shè)計(jì)中,要對(duì)該控件的部分屬性進(jìn)行修改,但是由于控件的屬性很多要找到想修改的屬性要比較麻煩(用熟了可以知道大概位置)但這有一個(gè)小方法能迅速地在屬性窗口中定位:熱鍵ctrl+alt+key使在屬性窗口中定位變得快而簡(jiǎn)單。例如,當(dāng)表單對(duì)象選中時(shí),在屬性窗口中按下ctrl+alt+c將快速移動(dòng)到caption屬性。以上方法是對(duì)單個(gè)控件進(jìn)行屬性設(shè)置,但有些表單的控件有十幾個(gè),所以就算使用熱鍵還是比較麻煩。我的解決方法是,先想好表單中控件中基本上

28、相同的屬性,然后把該控件復(fù)制若干個(gè),之后再逐個(gè)把不相同的屬性改過(guò)來(lái)就行了。9. 程序中建立等待狀態(tài)有時(shí)編譯后的程序運(yùn)行時(shí),屏幕一閃就退出了,要解決這種問(wèn)題應(yīng)該在程序中建立等待狀態(tài)。可以用read events命令來(lái)建立等待狀態(tài)。要清除等待狀態(tài),可使用clear events命令。如果你只有一個(gè)屏幕,把表單的windowstate屬性設(shè)置為modal。這也提供等待狀態(tài),但是不允許你使用菜單。當(dāng)模式表單被釋放時(shí),等待狀態(tài)結(jié)束并返回至操作系統(tǒng)。三、常用命令函數(shù),對(duì)象,屬性,事件,方法:1命令:假設(shè)(if.endif) 循環(huán)(do while.enddo) 分支(do case.endcase) 調(diào)用

29、表單(do form) 返回調(diào)用程序(return) 啟動(dòng)事件處理(read events) 清除事件處理(clear events) 開(kāi)關(guān)命令執(zhí)行狀態(tài)(set talk on/off) 開(kāi)關(guān)一個(gè)事務(wù)(begin/end transaction)事務(wù)處理回復(fù)原狀態(tài)(rollback)在表中添加記錄(appendblank)刪除有刪除標(biāo)記的記錄(pack)更新表記錄(replace .with.)定義全局內(nèi)存變量(public)結(jié)束程序(cancel) 2函數(shù):字符轉(zhuǎn)換數(shù)值(val() 取系統(tǒng)日期(date() 取年份(year() 取月份(month() 取天日(day() 刪除標(biāo)記(dele

30、te() 表結(jié)尾(eof()消除前后空格(alltrim ()返回字符串長(zhǎng)度(len())3對(duì)象(object): 表單(form) 按鈕(commandbutton) 標(biāo)簽(label) 文本框(text) 表格(grid) 4屬性(property):標(biāo)題(caption) 左起始位(left) 上起始位(top) 寬度(width) 高度(hight) 控制源(controlsource) 值(value) 文本對(duì)齊(alignment) 名稱(chēng)(name) 只讀(readonly) 可見(jiàn)(visible)可用(enabled)指定輸入和顯示格式(inputmask) 5事件(event)

31、:?jiǎn)螕?click) 初始化(init)失去焦點(diǎn)前發(fā)生(value)失去焦點(diǎn)時(shí)發(fā)生(lostfocus) 6方法(methord):設(shè)置焦點(diǎn)(setfocus) 刷新(refresh) 釋放(release)系統(tǒng)簡(jiǎn)介本次畢業(yè)設(shè)計(jì)我們主要是運(yùn)用vf6,小型商場(chǎng)的管理系統(tǒng):1.型商場(chǎng)管理系統(tǒng)結(jié)構(gòu)圖2.系統(tǒng)功能介紹:銷(xiāo)售模塊(pos_rxs):通過(guò)輸入商品的編碼和數(shù)量,計(jì)算出應(yīng)付金額。當(dāng)輸入編碼時(shí),系統(tǒng)從商品庫(kù)(pos_spk)中查找到相應(yīng)的商品名稱(chēng)和單價(jià),再將單價(jià)乘數(shù)量算出金額。所有商品輸入完成后,計(jì)算出總金額,對(duì)持有vtp卡的客戶(hù),只要輸入vip卡號(hào)就能享有9折的優(yōu)惠。輸入付款數(shù)。付款數(shù)減總金額

32、,得出應(yīng)退款。交易完成后可以選擇打印收據(jù)。進(jìn)貨模塊(pos_jhsr):能夠?qū)}(cāng)庫(kù)曾有和現(xiàn)有的商品進(jìn)貨,自動(dòng)獲取單價(jià)及其供應(yīng)商。輸入商品名稱(chēng),進(jìn)貨日期,數(shù)量,進(jìn)貨價(jià)和供應(yīng)商的資料,并存入庫(kù)存庫(kù)(pos_kck)中。當(dāng)輸入商品名稱(chēng)后,在商品庫(kù)中查找相應(yīng)的商品名稱(chēng),找到后將商品編碼單價(jià)等資料存入庫(kù)中。若查找失敗,則在商品管理中輸入相應(yīng)的商品信息。按金錢(qián)分類(lèi)(pos_jetj):能對(duì)以銷(xiāo)售的同類(lèi)商品進(jìn)行按銷(xiāo)售總金額分類(lèi)顯示,有“1千以下”、“1千到3千”、“3千到5千”、“5千到1萬(wàn)”、“1萬(wàn)以上”這5個(gè)類(lèi)型。并可進(jìn)行打印。按金錢(qián)分類(lèi)(pos_sltj):能對(duì)以銷(xiāo)售的同類(lèi)商品進(jìn)行按銷(xiāo)售總數(shù)量分類(lèi)顯示

33、,有“100件以下”、“100件到300件”、“300件到500件”、“500件到1000件”、“1000件以上” 5個(gè)選項(xiàng)。并可進(jìn)行打印。清空銷(xiāo)售庫(kù)(pos_qkxsk):對(duì)已存的商品銷(xiāo)售記錄進(jìn)行清空,清空記錄后不能再次恢復(fù)。商品輸入(pos_sbsr):主要功能為輸入商品信息,輸入商品編碼,名稱(chēng),供應(yīng)商等資料,并存于商品庫(kù)中。商品刪改(pos_sbgl):能對(duì)商品庫(kù)中的記錄進(jìn)行刪改。由于客戶(hù)輸入(pos_khsr),客戶(hù)刪改(pos_khgl),供應(yīng)商輸入刪改(pos_gyssr/pos_gysgl),員工輸入刪改(pos_ygsr/pos_yggl)功能于商品輸入刪改相近故不再注明。更改

34、密碼(pos_ggmm):對(duì)員工的登錄密碼進(jìn)行修改。倉(cāng)庫(kù)查詢(xún)(pos_jhgl):對(duì)庫(kù)存庫(kù)(pos_kck)中的記錄進(jìn)行刪改。(只限權(quán)限為a的超級(jí)用戶(hù))日統(tǒng)計(jì)(pos_rtj):通過(guò)視圖打印當(dāng)日銷(xiāo)售的貨品。月統(tǒng)計(jì)(pos_ytj):通過(guò)視圖打印本月銷(xiāo)售的貨品。打印庫(kù)存表(pos_kctj):通過(guò)視圖打印庫(kù)中商品的資料。登錄(pos_dl):輸入用戶(hù)名和密碼與員工庫(kù)中資料比較相同則給予登錄。菜單(pos_qmenu):本系統(tǒng)的主菜單。根據(jù)權(quán)限本表單對(duì)各模塊進(jìn)行開(kāi)啟和調(diào)用。開(kāi)始頁(yè)面(pos_begin)本系統(tǒng)的初始頁(yè)面,可以選擇登錄或退出。3.系統(tǒng)庫(kù)文件結(jié)構(gòu)介紹:商品庫(kù)(pos_spk):字段名標(biāo)

35、題數(shù)據(jù)類(lèi)型字段寬度小數(shù)位數(shù)bm商品編碼字符型(c)100pm商品名稱(chēng)字符型(c)300gys供應(yīng)商編碼字符型(c)70jdj進(jìn)貨單價(jià)數(shù)值型(n)92sdj售貨單價(jià)數(shù)值型(n)92 庫(kù)存庫(kù)(pos_kck):字段名標(biāo)題數(shù)據(jù)類(lèi)型字段寬度小數(shù)位數(shù)bm商品編碼字符型(c)100pm商品名稱(chēng)字符型(c)300jhrq進(jìn)貨日期日期型(d)80jhsl進(jìn)貨數(shù)量數(shù)值型(n)60jdj進(jìn)貨單價(jià)數(shù)值型(n)92xhrq銷(xiāo)貨日期日期型(d)80xhsl銷(xiāo)售數(shù)量數(shù)值型(n)60xdj銷(xiāo)售單價(jià)數(shù)值型(n)92kcsl庫(kù)存數(shù)量數(shù)值型(n)60ygs供應(yīng)商編碼字符型(c)70 銷(xiāo)售庫(kù)(pos_xsk):字段名標(biāo)題數(shù)據(jù)類(lèi)型字

36、段寬度小數(shù)位數(shù)bm商品編碼字符型(c)100pm商品名稱(chēng)字符型(c)300rq日 期日期型(d)80kh客戶(hù)編碼字符型(c)80sdj單 價(jià)數(shù)值型(n)102sl數(shù) 量數(shù)值型(n)60zk折 扣數(shù)值型(n)10sh操作員編碼字符型(c)40xhbm銷(xiāo)售編碼數(shù)值型(n)100供應(yīng)商庫(kù)(pos_gys):字段名標(biāo)題數(shù)據(jù)類(lèi)型字段寬度小數(shù)位數(shù)gys供應(yīng)商編碼字符型(c)70mz姓名字符型(c)600yb郵政編碼字符型(c)60lxr聯(lián)系人字符型(c)80dh電話(huà)字符型(c)140dh_z電話(huà)(宅)字符型(c)140zh帳號(hào)字符型(c)200khh開(kāi)戶(hù)行字符型(c)600km戶(hù)名字符型(c)600 客戶(hù)

37、庫(kù)(pos_khk):字段名標(biāo)題數(shù)據(jù)類(lèi)型字段寬度小數(shù)位數(shù)kh客戶(hù)編碼字符型(c)70mz地 址字符型(c)600yb郵政編碼字符型(c)600lxr聯(lián)系人字符型(c)80dh電話(huà)字符型(c)140dh_z電話(huà)(宅)字符型(c)140員工庫(kù)(pos_yg):字段名標(biāo)題數(shù)據(jù)類(lèi)型字段寬度小數(shù)位數(shù)bm員工編碼字符型(c)40xm姓 名字符型(c)80qx權(quán) 限字符型(c)60mm密 碼字符型(c)60 4.各庫(kù)的關(guān)聯(lián):在數(shù)據(jù)庫(kù)中包含了許多表,我們可以在相關(guān)表之間建立關(guān)系。表之間的關(guān)系包括永久關(guān)系和臨時(shí)關(guān)系。永久關(guān)系是數(shù)據(jù)庫(kù)間的關(guān)系,它們存儲(chǔ)在數(shù)據(jù)庫(kù)文件中,并且不必在每次使用表時(shí)重新創(chuàng)建(本系統(tǒng)以永遠(yuǎn)關(guān)

38、系為主)。員工庫(kù):bm主索引,通過(guò)bm字段與pos_xsk表中的sh字段建立永久關(guān)系。 商品表:bm主索引,gys普通索引;通過(guò)bm字段和pos_xsk表中的bm字段,以及pos_kck表中的bm字段建立永久關(guān)系,通過(guò)gys字段和pos_gys表中的gys字段建立永久關(guān)系??蛻?hù)表:kh主索引;通過(guò)kh字段和pos_xsk表中的kh字段建立永久關(guān)系。供應(yīng)商表:gys主索引,通過(guò)gys字段和pos_spk表中的gys字段建立了永久關(guān)系。銷(xiāo)售表:kh普通索引,sh普通索引,bm普通索引,xhbm普通索引;通過(guò)bm字段和pos_spk表中的bm字段建立永久關(guān)系,通過(guò)sh字段和pos_yg表中的bm字段

39、建立關(guān)系,通過(guò)kh字段和pos_khk表中的kh字段建立關(guān)系。庫(kù)存表:bm普通索引,gys普通索引;通過(guò)bm字段和pos_spk表中的bm字段建立關(guān)系,通過(guò)gys字段和pos_gys表中的gys字段建立關(guān)系。系統(tǒng)設(shè)計(jì)流程本節(jié)主要介紹本系統(tǒng)的設(shè)計(jì)過(guò)程:第一步:創(chuàng)建項(xiàng)目文件項(xiàng)目管理器是visual foxpro應(yīng)用開(kāi)發(fā)系統(tǒng)的核心,它把應(yīng)用系統(tǒng)中的各種數(shù)據(jù)和程序按一定的邏輯關(guān)系進(jìn)行了有效的、可視化的組織和管理。其中包括文件、數(shù)據(jù)、文檔和對(duì)象,項(xiàng)目文件的擴(kuò)展名為.pjx。其創(chuàng)建項(xiàng)目的過(guò)程如下:()系統(tǒng)“文件”菜單,執(zhí)行其中的“新建”命令。在彈出的“新建對(duì)話(huà)框中,選擇“項(xiàng)目”文件類(lèi)型,然后單擊“向?qū)А卑?/p>

40、鈕。在打開(kāi)的“應(yīng)用程序向?qū)А睂?duì)話(huà)框中,在項(xiàng)目名稱(chēng)編輯框內(nèi)輸入要?jiǎng)?chuàng)建的項(xiàng)目文件名。如“小型商場(chǎng)管理系統(tǒng)”()單擊“確定”按鈕,系統(tǒng)便開(kāi)始了項(xiàng)目文件的創(chuàng)建第二步:創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)新數(shù)據(jù)庫(kù)的步驟如下:() 在“項(xiàng)目管理器”中,選擇“數(shù)據(jù)”選項(xiàng),然后在列表中選擇“數(shù)據(jù)庫(kù)”,并單擊“新建”按鍵。() 在出現(xiàn)的“新建數(shù)據(jù)庫(kù)”對(duì)話(huà)框中,單擊“新建數(shù)據(jù)庫(kù)”按鍵。() “創(chuàng)建”的對(duì)話(huà)框中的“數(shù)據(jù)庫(kù)名”框中輸入數(shù)據(jù)庫(kù)名稱(chēng),然后單擊“保存”就行了。在創(chuàng)建數(shù)據(jù)庫(kù)之后,就要在庫(kù)中添加表,其步驟如下:() 在“項(xiàng)目管理器”中選定數(shù)據(jù)庫(kù),然后選擇“表”,再單擊“新建”按鍵,出現(xiàn)一個(gè)“新建表”對(duì)話(huà)框。() 在對(duì)話(huà)框中單擊“

41、新建表”按鈕。() 在“創(chuàng)建”對(duì)話(huà)框的“輸入表名”框中輸入新表名,然后單擊“保存按鍵就行了。() 根據(jù)事先設(shè)計(jì)好的表,輸入字段,類(lèi)型,寬度等。完成以上工作后再為表建立索引和并聯(lián),這樣系統(tǒng)的數(shù)據(jù)庫(kù)就創(chuàng)建完成了(本系統(tǒng)的數(shù)據(jù)庫(kù)資料已在上一章系統(tǒng)簡(jiǎn)介列出)第三步:創(chuàng)建表單visual foxpro提供了一個(gè)功能強(qiáng)大的表單設(shè)計(jì)器,使得表單的設(shè)計(jì)工作變得既快又容易。使用visual foxpro創(chuàng)建的應(yīng)用程序的交互操作,主要是通過(guò)表單來(lái)實(shí)現(xiàn)的??梢栽诒韱沃羞M(jìn)行輸入數(shù)據(jù)、查詢(xún)數(shù)據(jù)以及控制應(yīng)用程序的運(yùn)行等交互操作。在創(chuàng)建表單之前,應(yīng)首先明確下面幾方面內(nèi)容:表單的功能。表單中使用的數(shù)據(jù)。表單中使用的控件。表單

42、的外觀。創(chuàng)建表單的步驟如下:() 在“項(xiàng)目管理器”的選項(xiàng)卡中,選擇“文檔”,選中表單。() 單擊新建按鈕,就會(huì)出現(xiàn)一個(gè)“新建表單”對(duì)話(huà)框。() 在對(duì)話(huà)框中單擊“新建表單”按鈕,就會(huì)打開(kāi)表單設(shè)計(jì)器,并且創(chuàng)建一個(gè)空表單。之后就可以進(jìn)行表單的設(shè)計(jì)了。設(shè)計(jì)的介面如下:第四步:創(chuàng)建視圖在管理信息系統(tǒng)中,當(dāng)完成數(shù)據(jù)的采集后,就需要充分利用這些數(shù)據(jù),其中之一就是能夠迅速找到或匯總需要的信息。在visual foxpro6中是通過(guò)視圖來(lái)實(shí)現(xiàn)數(shù)據(jù)的查詢(xún)的。視圖可以用來(lái)從一個(gè)或多個(gè)相關(guān)聯(lián)的表中提取有用信息。在創(chuàng)建本地視圖前,應(yīng)先做好以下準(zhǔn)備:創(chuàng)建視圖要達(dá)到的目的。視力使用了哪些表。使用的表之間的關(guān)系。視圖使用了哪

43、些字段。在視力中需要什么記錄。創(chuàng)建視圖的步驟如下:() 從項(xiàng)目管理器中選定“數(shù)據(jù)”標(biāo)簽,然后選定“數(shù)據(jù)庫(kù)”項(xiàng)。() 單擊“數(shù)據(jù)庫(kù)”下自己建立的數(shù)據(jù)文件,選定“本地視圖”,并選擇“新建”按鈕。() 在“新建本地視圖”對(duì)話(huà)框中選擇“新建視圖”按鈕() 再按需要輸入需要的字段,聯(lián)接條件,篩選條件,排序條件,以及分組條件就可以了。設(shè)計(jì)介面如下:視圖的聯(lián)接條件選項(xiàng):視圖的篩選條件選項(xiàng):視圖的排序條件和分組條件通常情況下默認(rèn)即可,如所做視圖還要特定的功能可對(duì)更新條件,以及雜項(xiàng)進(jìn)行設(shè)置。第五步:創(chuàng)建報(bào)表信息系統(tǒng)中將數(shù)據(jù)輸出的另一種方式就是各種統(tǒng)計(jì)報(bào)表。在visual foxpro中報(bào)表包括兩個(gè)基本的組成部分

44、:數(shù)據(jù)源和布局。數(shù)據(jù)源通常是數(shù)據(jù)庫(kù)中的表,但也可以是視圖、查詢(xún)或臨時(shí)表。視圖和查詢(xún)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行篩選、排序和分組,而報(bào)表布局定義了報(bào)表的打印格式。當(dāng)我們定義了一個(gè)表和一個(gè)視圖后,就可以創(chuàng)建報(bào)表了。我們可以通過(guò)報(bào)表的設(shè)計(jì),用多種方式在打印頁(yè)面上顯示數(shù)據(jù)。使用“報(bào)表設(shè)計(jì)器”我們可以設(shè)計(jì)復(fù)雜的列表、總結(jié)摘要或數(shù)據(jù)的特定集合,比如銷(xiāo)售統(tǒng)計(jì)表。設(shè)計(jì)報(bào)表有四個(gè)主要步驟:() 決定要?jiǎng)?chuàng)建的報(bào)表類(lèi)型() 創(chuàng)建報(bào)表布局文件。() 修改和定制布局文件。() 預(yù)覽和打印報(bào)表。visual foxpro提供了三種創(chuàng)建報(bào)表的方法:1. 用“報(bào)表向?qū)А眲?chuàng)建簡(jiǎn)單的單表或多表報(bào)表。2. 用“快速報(bào)表”從單表中創(chuàng)建一個(gè)簡(jiǎn)

45、單報(bào)表。3. 用“報(bào)表設(shè)計(jì)器”修改已有的報(bào)表或創(chuàng)建自己的報(bào)表。(在本次設(shè)計(jì)中的報(bào)表主要以“報(bào)表向?qū)А眲?chuàng)建后再以“報(bào)表設(shè)計(jì)器”修改來(lái)完成的。)創(chuàng)建報(bào)表的步驟:() 在“項(xiàng)目管理器”中選定“報(bào)表”,然后單擊“新建”按鈕。() 在“新建報(bào)表”對(duì)話(huà)框中單擊“報(bào)表向?qū)А卑粹o。() 在“向?qū)нx取”對(duì)話(huà)框的列表中,選擇“報(bào)表向?qū)А?,然后單擊“確定”按鈕,即可根據(jù)向?qū)гO(shè)計(jì)報(bào)表了。() 最后再用“報(bào)表設(shè)計(jì)器”修改打印頁(yè)面能全部完成了。設(shè)計(jì)介面如下:第六步:連項(xiàng)目文件與可執(zhí)行文件完成了以上的各步,我們已經(jīng)建立了一個(gè)完整的管理信息系統(tǒng),最后要做的就是將這個(gè)系統(tǒng)編譯成獨(dú)立的應(yīng)用程序了。在選擇編譯操作的選項(xiàng)時(shí),為了確保

46、所有引用的完整,并加入上次連編之后更新的一些組件,應(yīng)對(duì)整個(gè)項(xiàng)目進(jìn)行重新編譯。編譯一個(gè)項(xiàng)目的操作步驟如下:() 在“項(xiàng)目管理器”中,按下“連編”按鈕,之后出現(xiàn)一個(gè)對(duì)話(huà)框。() 在“連編選項(xiàng)”對(duì)話(huà)框中,在“操作區(qū)域選擇重新連編項(xiàng)目”單選按鈕。() 按下“確定”按鈕,系統(tǒng)將開(kāi)始對(duì)整個(gè)項(xiàng)目文件進(jìn)行編譯。(如項(xiàng)目中不存在錯(cuò)誤就能編譯成功,否則將在編譯完成后顯示錯(cuò)誤信息)如果連編項(xiàng)目之后沒(méi)有錯(cuò)誤,就可以開(kāi)始連編應(yīng)用程序了,建立自己可獨(dú)立運(yùn)行的程序。當(dāng)將項(xiàng)目文件編譯成執(zhí)行的應(yīng)用程序后,該程序就可以脫離vf環(huán)境直接運(yùn)行了。其步驟如下:() “項(xiàng)目管理器”中,按下“連編”按鈕。() 在“連編選項(xiàng)”對(duì)話(huà)框中,在“

47、連編可執(zhí)行程序”單選按鈕。() 按下“確定”按鈕,這時(shí)會(huì)出現(xiàn)一個(gè)“另存為”對(duì)話(huà)框。() 在對(duì)話(huà)框中選定可執(zhí)行文件的存放路徑即可。 “連編選項(xiàng)”對(duì)話(huà)框:表單分析表單是visual foxpro中最能體現(xiàn)面向?qū)ο缶幊痰囊徊糠郑谝郧暗陌姹局?,例如foxpro2.6及以前的版本就沒(méi)有表單的概念,只有關(guān)于屏幕的說(shuō)法。在用屏幕來(lái)設(shè)計(jì)時(shí),只要為屏幕設(shè)置它的大小、位置、顏色以及添加一些必要的對(duì)話(huà)框即可。因此,屏幕的功能很有限,不能滿(mǎn)足應(yīng)用程序的功能需求。而在visual foxpro中表單是一個(gè)可處理的對(duì)象,它有自己的屬性、事件和方法。因此,通過(guò)設(shè)置表單的屬性,響應(yīng)表單的事件,執(zhí)行表單的方法代碼,就可以完成

48、較強(qiáng)功能的應(yīng)用程序設(shè)計(jì)??傊?,表單是應(yīng)用程序設(shè)計(jì)的核心。我在這次設(shè)計(jì)中負(fù)責(zé)銷(xiāo)售模塊、銷(xiāo)售統(tǒng)計(jì)模塊、報(bào)表打印模塊等。在這節(jié)我將以我所負(fù)責(zé)設(shè)計(jì)的表單中以銷(xiāo)售表單、按數(shù)量分類(lèi)統(tǒng)計(jì)表單登錄表單、以及菜單表單為例,介紹我設(shè)計(jì)表單的思路和其中程序的分析。銷(xiāo)售表單(pos_rxs):銷(xiāo)售表單可以說(shuō)是本系統(tǒng)的中心通過(guò)輸入商戶(hù)購(gòu)買(mǎi)商品的編號(hào)和數(shù)量,跟著從系統(tǒng)從商品庫(kù)(pos_spk)中查找到相應(yīng)的商品名稱(chēng)和單價(jià),再將單價(jià)乘數(shù)量算出金額。所有商品輸入完成后,計(jì)算出總金額,對(duì)持有vtp卡的客戶(hù),只要輸入vip卡號(hào)就能享有9折的優(yōu)惠。最后輸入付款數(shù)。付款數(shù)減總金額,得出應(yīng)退款,更新庫(kù)存資料后將本宗交易的資料存于銷(xiāo)售庫(kù)

49、(pos_xsk)中,以便對(duì)銷(xiāo)售情況進(jìn)行統(tǒng)計(jì)。交易完成后可以選擇打印收據(jù)。表單流程圖:結(jié)束是繼續(xù)?否是打印報(bào)表打印收據(jù)收款和退錢(qián)總價(jià)*=0.9是否商品計(jì)價(jià)是否vip是否按“合計(jì)”進(jìn)行庫(kù)存庫(kù)更新,銷(xiāo)售資料存于銷(xiāo)售庫(kù)。無(wú)該商品有該商品查商品庫(kù)按“下一件”輸入商品數(shù)量輸入商品編碼開(kāi)始表單介面:數(shù)據(jù)環(huán)境:程序分析:form1.initselect pos_xskpublic xhbm2xhbm2=0go topdo while not eof()if (pos_xsk.xhbmxhbm2)xhbm2=pos_xsk.xhbmendifskipenddoxhbm2=xhbm2+1set filter t

50、o pos_xsk.xhbm=xhbm2本段為表單的初始化和對(duì)pos_xsk表進(jìn)行過(guò)濾,使表單中的表格控件在剛啟動(dòng)時(shí)不顯示任何數(shù)據(jù)。“開(kāi)始”(command5.click):public hjs*定義全部全局用以存放商品的合計(jì)價(jià)hjs=0.00thisform.grid1.enabled=.t.thisform.grid1.column1.enabled=.f.thisform.grid1.column2.enabled=.f.thisform.grid1.column3.enabled=.f.thisform.grid1.column4.enabled=.f.thisform.txtspbm

51、.enabled=.t.thisform.txtspsl.enabled=.t.mand1.enabled=.t.mand6.enabled=.t.mand7.enabled=.f.thisform.txtspbm.setfocusthis.enabled=.f.begin transaction*開(kāi)始事務(wù)處理本段程序功能是開(kāi)始銷(xiāo)售,于點(diǎn)擊此按鈕時(shí),表格不可用(確保表上資料不被誤改)并使商品編碼文本框、商品數(shù)量文本框和“下一件”按鈕可用?!叭鲣N(xiāo)”(command6.click):?chr(7)result=messagebox(是否確認(rèn)放棄修改,4+48+256,信息窗口)if result=6*顯示提示窗口,選是執(zhí)行。rollbackthis.enabled=.f.mand1.enabled=.f.mand2.enabled=.f.mand3.enabled=.f.mand4

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論