




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
學(xué)士論文PAGEPAGE37概述目前有很多行業(yè)(包括設(shè)備維修),運(yùn)用專家系統(tǒng)已達(dá)到很高水平,并取得了較好的實(shí)際效果。據(jù)了解國外有些礦山設(shè)備廠商,在維修業(yè)務(wù)中已逐步采用了這一技術(shù),而國內(nèi)很少見到這一方面的報道。隨著計(jì)算機(jī)技術(shù)的普及與提高,以及大型礦山設(shè)備的增多,筆者認(rèn)為目前已有可能和必要建立一個面向區(qū)域性的礦山設(shè)備維修專家系統(tǒng)(以下簡稱系統(tǒng)),以象維修專家那樣求解維修領(lǐng)域中的復(fù)雜和非數(shù)值問題。1.1系統(tǒng)應(yīng)具有的功能該系統(tǒng)具有診斷、調(diào)試、計(jì)劃和執(zhí)行等功能,對發(fā)生故障的礦山設(shè)備進(jìn)行處理,使其恢復(fù)正常工作,這個系統(tǒng)既能對有經(jīng)驗(yàn)的維修工程師提供維修設(shè)備幫助,也能訓(xùn)練初學(xué)者以提高他們的業(yè)務(wù)水平。其次,這個系統(tǒng)使專家的專長不受時間和空間的限制。1.2系統(tǒng)應(yīng)具有的特點(diǎn)啟發(fā)性:能充分利用知識庫,對維修設(shè)備中的疑難問題進(jìn)行推理、判斷,作出決策。透明性:讓用戶盡可能多地了解系統(tǒng)的工作過程,以提高他們的協(xié)作和信賴程度。學(xué)習(xí)性:通過不斷地修改和更新知識庫,達(dá)到系統(tǒng)知識的增長和完善。自我糾錯:對系統(tǒng)運(yùn)用過程中產(chǎn)生的錯誤有識別能力,并加以糾正。智能化的交互界面:充分利用多媒體技術(shù)來實(shí)現(xiàn)人機(jī)交互,使用戶方便、快捷地提出問題,得到結(jié)果。1.3實(shí)際中解決問題的對策:1.從開發(fā)的組織形式來說,可由本行業(yè)的維修協(xié)會來協(xié)調(diào)和統(tǒng)籌,將有經(jīng)驗(yàn)的維修技術(shù)人員和計(jì)算機(jī)人員組成開發(fā)小組,這些人員不僅具備本行業(yè)的專業(yè)知識,而且互相信任,能緊密協(xié)作,有出色的溝通技巧。2.專家系統(tǒng)所能獲得的知識數(shù)量的多少和優(yōu)劣程度,是專家系統(tǒng)成功與否的關(guān)鍵,因而筆者建議系統(tǒng)應(yīng)從以下幾方面來獲得知識:(1)從事維修和使用第一線的專家,其知識被同行所公認(rèn)的,并擁有大量本行業(yè)既有代表性又是不尋常的案例,他們應(yīng)具備計(jì)算機(jī)專業(yè)經(jīng)驗(yàn)和知識,樂于此項(xiàng)工作,愿意將自己的經(jīng)驗(yàn)和知識公諸出來,直至有成果。(2)從以往發(fā)表在權(quán)威雜志上的維修資料及其它方面的公共知識。(3)廠商的技術(shù)資料(包括廠商維修人員的經(jīng)驗(yàn))。3.解決一些特殊疑難問題時,應(yīng)克服單個專家系統(tǒng)的局限性,與其他專家系統(tǒng)協(xié)同解決,其手段可以是任務(wù)分解,黑板技術(shù)(“討論”方式)等。4.由于不可能在短時間內(nèi),建立龐大而完善的醫(yī)療儀器維修專家系統(tǒng)。因而我們應(yīng)選取一些大型的、重點(diǎn)的設(shè)備,同時對解決問題所需的知識和經(jīng)驗(yàn),要易于定義易于獲取,以便更容易5.選擇一些通用的、高效的專家系統(tǒng)開發(fā)地建立專家系統(tǒng)。軟件,作為設(shè)計(jì)開發(fā)專家系統(tǒng)的輔助手段和環(huán)境,以提高開發(fā)的效率、質(zhì)量和水平。比如骨架型開發(fā)工具,我們可以借用已開發(fā)好的其他行業(yè)的維修專家系統(tǒng),去掉其描述領(lǐng)域知識的規(guī)則,保留推理機(jī)部分,把精力放在創(chuàng)建規(guī)則上。6.培訓(xùn)和提高維修專家的計(jì)算機(jī)專業(yè)知識,特別是人工智能知識,以便他們盡可能多地了解知識工程師的開發(fā)過程,有利于維修專家將自己的知識和經(jīng)驗(yàn)盡可能完整和準(zhǔn)確地表達(dá)出來,有助于維修專家和知識工程師之間的協(xié)作和配合。7.目前礦山設(shè)備從業(yè)人員,對專家系統(tǒng)不是十分了解,因而不可能象常規(guī)開發(fā)應(yīng)用軟件那樣,提出具體的需求。故可由設(shè)計(jì)者快速地開發(fā)出一個最小系統(tǒng),或由其他行業(yè)維修專家系統(tǒng)抽取有關(guān)部分來作為原形,在此基礎(chǔ)上提出要求和意見,再進(jìn)行開發(fā)。6開發(fā)系統(tǒng)的目的、內(nèi)容和意義礦山選廠設(shè)備是保證礦山生產(chǎn)的關(guān)鍵,礦山選廠設(shè)備維修的好壞直接影響礦山生產(chǎn)。而傳統(tǒng)的設(shè)備維修計(jì)劃的確定,維修管理方法都是憑管理人員和技術(shù)人員的經(jīng)驗(yàn),以及對設(shè)備技術(shù)每年一次的普查來確定。但是由于人員的變動,資料的不健全,導(dǎo)致維修計(jì)劃的隨機(jī)性很大,不是維修過剩就是維修不足,而且事故較多,這些都會使維修的經(jīng)濟(jì)性差,或影響礦山正常生產(chǎn)。收集礦山多年來的設(shè)備維修記錄,結(jié)合維修管理人員和幾乎上人員的工作經(jīng)驗(yàn),統(tǒng)計(jì)分析關(guān)鍵設(shè)備零部件的維修間隔期,維修頻次等,建立數(shù)學(xué)模型,確定維修策略,建立數(shù)據(jù)庫。對工段、設(shè)備、部件和維修方式進(jìn)行編碼,建立相關(guān)數(shù)據(jù)庫,據(jù)實(shí)時檢測運(yùn)行數(shù)據(jù),根據(jù)維修規(guī)則構(gòu)造預(yù)測推理機(jī)制。系統(tǒng)經(jīng)過分析、判斷,自動生成選廠關(guān)鍵設(shè)備未來一周、一個月維修計(jì)劃,并預(yù)測維修所需備件消耗及其備件金額。使原來的經(jīng)驗(yàn)維修轉(zhuǎn)變?yōu)榭茖W(xué)維修,事后維修轉(zhuǎn)變?yōu)轭A(yù)測維修、預(yù)防維修和主動維修相結(jié)合的可靠性維修,提高礦山選廠設(shè)備的可靠性和維修性,降低設(shè)備故障及維修費(fèi)用,改進(jìn)傳統(tǒng)的設(shè)備維修管理觀念和方法,提高礦山選長設(shè)備管理水平及其經(jīng)濟(jì)社會效益。開發(fā)專家系統(tǒng)是一項(xiàng)艱巨而繁重的工作,但隨著計(jì)算機(jī)硬件技術(shù)的飛速發(fā)展,以及更通用而有效的開發(fā)方法出現(xiàn),在我們礦山設(shè)備維修行業(yè),又有眾多熱心這項(xiàng)公益事業(yè)的專家,相信在不長的時間內(nèi),我們的設(shè)想將成為現(xiàn)實(shí),從而極大地提高礦山設(shè)備維修效率和水平。在該系統(tǒng)知識庫的基礎(chǔ)上,成功的開發(fā)了礦山選廠設(shè)備維修管理專家系統(tǒng)。實(shí)踐證明該系統(tǒng)運(yùn)行速度快,預(yù)測的維修計(jì)劃準(zhǔn)確。證明了該系統(tǒng)知識庫的內(nèi)容,結(jié)構(gòu)合理,它為數(shù)據(jù)庫的實(shí)現(xiàn)及推理的設(shè)計(jì)與實(shí)現(xiàn)起了一個很好的鋪墊。系統(tǒng)分析及總體設(shè)計(jì)2.1系統(tǒng)的設(shè)計(jì)要求1)系統(tǒng)應(yīng)在windows98以上環(huán)境中運(yùn)行。2)能在系統(tǒng)中完成設(shè)備,設(shè)備零部件,設(shè)備零部件的類別極其維修方式維護(hù)與管理;能進(jìn)行設(shè)備維修知識庫,設(shè)備維修運(yùn)行檔案,設(shè)備維修檔案及設(shè)備維修計(jì)劃的管理。3)能實(shí)現(xiàn)計(jì)算機(jī)自動生成維修計(jì)劃,并預(yù)測其備件金額。4)能實(shí)現(xiàn)對設(shè)備維修知識庫,設(shè)備維修運(yùn)行檔案,設(shè)備維修檔案及設(shè)備維修計(jì)劃的查詢。5)應(yīng)提供友好的操作界面,系統(tǒng)運(yùn)行正確,可靠。2.2系統(tǒng)的分析設(shè)備維修專家系統(tǒng)主要實(shí)現(xiàn)如下功能:系統(tǒng)維護(hù),知識庫管理,維修檔案管理,計(jì)劃生成,計(jì)劃管理,計(jì)劃查詢,運(yùn)行檔案,報表打印等。在本次介紹中,著重介紹計(jì)劃生成,計(jì)劃編輯以及計(jì)劃查詢,詳情見后頁。2.3系統(tǒng)總體框架做任何的設(shè)計(jì),都會有一個總體的設(shè)計(jì)和方案,設(shè)備維修專家系統(tǒng)采用了簡單明了的方法設(shè)計(jì),以VFP軟件進(jìn)行設(shè)計(jì),為便于觀察,筆者將系統(tǒng)的整體功能,以框架形式顯示,(以下簡稱設(shè)備維修專家系統(tǒng)為系統(tǒng))具體設(shè)計(jì)如圖所示:礦山選廠設(shè)備維修管理專家系統(tǒng)系統(tǒng)啟動界面權(quán)限認(rèn)證界面系統(tǒng)主控界面系知維計(jì)計(jì)計(jì)運(yùn)報其退統(tǒng)識修劃劃劃行表它出維庫檔生管查檔打護(hù)管案成理閱案印理管理2.4系統(tǒng)的總體設(shè)計(jì)在勾畫出整體方案后及設(shè)計(jì)后,目前主要就是設(shè)計(jì)計(jì)劃管理這一塊計(jì)劃管理主要包括計(jì)劃編輯,計(jì)劃生成,計(jì)劃查詢。在周計(jì)劃編輯中,根據(jù)一周的實(shí)際情況,對設(shè)備進(jìn)行進(jìn)行編輯,比如說選取什么設(shè)備,什么部件,工作人員等等。計(jì)劃生成,主要是利用檔案庫,對計(jì)劃進(jìn)行存檔,以備分。計(jì)劃查詢主要是在不可編輯的界面下,對所有的設(shè)備進(jìn)行查詢,比如查詢工作人員,查詢備件價格,查詢設(shè)備,部件等等。選廠設(shè)備維修管理專家系統(tǒng),是一個針對某大型選廠設(shè)備維修管理的實(shí)際情況而開發(fā)的基于C/S模式的預(yù)測型專家系統(tǒng)。它通過推理根據(jù)全局?jǐn)?shù)據(jù)庫及知識庫,自動生成未來一定時間段的維修計(jì)劃,預(yù)測其所需備件及其費(fèi)用,實(shí)現(xiàn)了選廠設(shè)備維修管理的智能化。在計(jì)劃管理中,主要是將工段表,設(shè)備表以及部件表中的相關(guān)部件進(jìn)行過濾,并最終存放于計(jì)劃表中,使得在計(jì)劃管理界面中能對相關(guān)部件實(shí)現(xiàn)編輯,修改以及備分,大大的節(jié)省了勞動力,也提高了勞動效率,更方便工作人員對工件進(jìn)行維修。其此在計(jì)劃查詢中,用戶可根據(jù)自己的需要查詢所需要的工段,設(shè)備,以及部件等,改變了以往用戶以手工查詢記載在工作本上的尷尬,也便于管理。在計(jì)劃生成中,用戶可根據(jù)自己的需要,在一周內(nèi),甚至一個月內(nèi)生成新的計(jì)劃,并按照要求更換所要更換的零件,或者對所需要維護(hù)的零件進(jìn)行維護(hù)。在計(jì)劃管理中,可以根據(jù)自己的需要,編輯或查詢自己想查詢的零部件。而且效率是以往的幾倍以上。根據(jù)維修記錄,本系統(tǒng)中產(chǎn)生維修間隔(樣本)異常值的可能因素有以下幾方面:1)由于設(shè)備發(fā)生不可預(yù)測的以外事故而引起的維修,此次以外維修日期與上次檢修日期的時間間隔可能很短,甚至可能短至幾個小時;2)當(dāng)零部件維修方式為更換時,若對零件進(jìn)行了改造或其它延長壽命的維修方式,則可能更換時間間隔比正常更換時間間隔長的多(有時可能長至十幾年,甚至幾十年);3)由于資料遺失或記錄不全,漏掉中間某次或若干次維修,也可能會使其維修間隔時間遠(yuǎn)遠(yuǎn)超過其正常維修間隔時間。以上這些因素均可能產(chǎn)生異常子樣值(即維修間隔異常值),若不將異常子樣剔除則會使維修周期的推算很不準(zhǔn)確,進(jìn)而直接影響系統(tǒng)自動預(yù)測維修計(jì)劃的準(zhǔn)確性。因此在計(jì)算維修周期前應(yīng)先剔除異常值。系統(tǒng)將歷年來的歷史維修記錄進(jìn)行分析,按維修方式集合將部件分為23累,如01類,其維修方式為更換,洗潔,換油和調(diào)整間隙等。如果某部件所有可能維修方式均包含于這一維修方式集合,則該部件就屬于這一部件類別。如軸承的維修方式為更換,洗潔,換油和調(diào)整間隙;油嘴的維修方式為更換,洗潔和換油。因此,系統(tǒng)將軸承和油嘴定為01類部件。由于選廠目前為止所有部件被分為23類(隨著時間的推移與數(shù)據(jù)和知識的積累,以后可能會不斷增加),所以此規(guī)則庫中有23條規(guī)則:規(guī)則1如果該部件所有可能維修方式為01類維修方式集合(更換,調(diào)整間隙,洗潔,加油,處理漏油)的子集,那么該部件分為01類;規(guī)則2如果該部件所有可能維修方式為02類維修方式集合(更換,重澆,安裝,焊補(bǔ)等)的子集,則該部件為02類。其余規(guī)則原理及格式與此類似,在此不作詳細(xì)介紹。系統(tǒng)從實(shí)時檢測系統(tǒng)獲取各零部件的運(yùn)行時間,并將它與維修周期進(jìn)行比較,以此來預(yù)測維修計(jì)劃。維修計(jì)劃預(yù)測規(guī)則以下內(nèi)容:規(guī)則1若維修周期大于運(yùn)行時間,則該零部件進(jìn)入維修計(jì)劃表;規(guī)則2若在一個維修計(jì)劃中同一個零部件要進(jìn)行多種維修,且其中一種維修方式為更換,那么只保留該部件,其費(fèi)用即為購置該部件所需金額。數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)3.1數(shù)據(jù)庫的基本知識數(shù)據(jù)庫(DB)(database),可以直接地理解為存放數(shù)據(jù)的倉庫。只不過這個倉庫是在計(jì)算機(jī)的大容量存儲器上,如硬盤就是一類最常見計(jì)算機(jī)的大容量存儲設(shè)備。數(shù)據(jù)庫中數(shù)據(jù)必須按一定的格式存放,因?yàn)樗粌H需要存放,而且還要便于查找。所以可以認(rèn)為數(shù)據(jù)庫中的數(shù)據(jù)是被存放在計(jì)算機(jī)內(nèi)、有組織的、可以表現(xiàn)為多種形式的可共享的數(shù)據(jù)庫相關(guān)數(shù)據(jù)集合。數(shù)據(jù)庫技術(shù)使數(shù)據(jù)能按一定格式組織、描述和存儲,且具有較少的冗余度,較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為多個用戶所共享。人們總是盡可能地收集各種各樣的數(shù)據(jù),然后對它們進(jìn)行加工,目的是要從這些數(shù)據(jù)中得到有用的信息。在科學(xué)技術(shù)飛速發(fā)展的今天,人們接觸的事物越來越多,反映這些事物的數(shù)據(jù)量也急劇增加。過去人們手工管理和處理數(shù)據(jù),現(xiàn)在借助計(jì)算機(jī)來保存和處理大量復(fù)雜的數(shù)據(jù),這樣能方便而充分地利用這些寶貴的數(shù)據(jù)資源。數(shù)據(jù)庫技術(shù)正是由于這一需求驅(qū)動而發(fā)展起來的一種計(jì)算機(jī)軟件技術(shù)。數(shù)據(jù)庫管理系統(tǒng)了解了數(shù)據(jù)和數(shù)據(jù)庫的概念,就應(yīng)該研究如何利用計(jì)算機(jī)有效地組織和存儲數(shù)據(jù)、獲取管理數(shù)據(jù)。完成這個任務(wù)的是數(shù)據(jù)庫管理系統(tǒng)DBMS(databaseManagementsystem),它屬于一類計(jì)算機(jī)系統(tǒng)軟件。數(shù)據(jù)庫管理系統(tǒng)是處于用戶與計(jì)算機(jī)之間的一層數(shù)據(jù)管理軟件,它的主要功能包括以下幾個方面:數(shù)據(jù)定義功能DBMS提供數(shù)據(jù)定義語言DDL(datadsfinitionlanguage),用戶通過它可以方便地對數(shù)據(jù)庫中的相關(guān)內(nèi)容進(jìn)行定義。如對數(shù)據(jù)庫、基本表、視圖、和索引進(jìn)行定義。數(shù)據(jù)操縱功能DBMS向用戶提供數(shù)據(jù)操縱語言DML(datamanipulationlanguage),實(shí)現(xiàn)對數(shù)據(jù)庫的基本操作,如對數(shù)據(jù)庫中數(shù)據(jù)的查詢、插入、刪除、和修改。數(shù)據(jù)庫中的運(yùn)行管理這是DBMS的核心部分,它包括并發(fā)控制,即自理多個用戶同時使用某些數(shù)據(jù)時可能使用的問題,安全性檢查、完整性約束條件的檢查和執(zhí)行、數(shù)據(jù)庫的內(nèi)部維護(hù),如索引、數(shù)據(jù)字典的自動維護(hù)等。所有數(shù)據(jù)庫的操作都要在這些控制程序的統(tǒng)一管理下進(jìn)行,以保證數(shù)據(jù)的安全性、完整性以及多個用戶對數(shù)據(jù)庫的并發(fā)使用。、數(shù)據(jù)庫的建立和維護(hù)功能包括數(shù)據(jù)庫初始數(shù)據(jù)的輸入、轉(zhuǎn)換功能,數(shù)據(jù)庫的轉(zhuǎn)儲、恢復(fù)功能,數(shù)據(jù)庫的重要組織功能和性能監(jiān)視、分析功能等,這些功能通常由一些實(shí)用程序完成的。它是數(shù)據(jù)庫管理系統(tǒng)的一個重要組成部分。數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)DBS(databasesystem)通常是指帶有數(shù)據(jù)庫的計(jì)算機(jī)應(yīng)用系統(tǒng)。因此,數(shù)據(jù)庫系統(tǒng)不僅包括數(shù)據(jù)本身,即實(shí)際存儲在計(jì)算機(jī)中的數(shù)據(jù),還包括相應(yīng)的硬件、軟件和各類人員。數(shù)據(jù)庫系統(tǒng)是一個有使用維護(hù)人員、加工設(shè)備和數(shù)據(jù)資源的完整計(jì)算機(jī)應(yīng)用系統(tǒng),現(xiàn)在分別介紹相關(guān)內(nèi)容。3.11數(shù)據(jù)的類型數(shù)據(jù)是描述客觀試題的,能夠由計(jì)算機(jī)處理的數(shù)字,字母,符號,圖象和聲音等。這些不同形式的數(shù)據(jù)反映了數(shù)據(jù)的不同類型。不同類型的數(shù)據(jù)表示方法和處理方法是不同的。這里提供7中數(shù)據(jù)類型:數(shù)據(jù)型數(shù)據(jù)N(NUMERIC),由數(shù)字,小數(shù)點(diǎn)和正負(fù)號組成,有效位數(shù)為16位,如36,36.88等字符型數(shù)據(jù)C(Character),由中、英文字符,數(shù)字、空格和其它專用符號組成。一個字符的最大長度為254個字符。浮點(diǎn)型數(shù)據(jù)F(float),表示工程和科學(xué)計(jì)算4)邏輯型數(shù)據(jù)L(logical),表示邏輯判斷結(jié)果的值,只能取真(.t.或.y.)或假(.f.或.n.)邏輯型數(shù)據(jù)長度固定為一個字符。5)日期型數(shù)據(jù)D(date)是用來表示日期的特殊數(shù)據(jù),固定寬度為8位。6)備注型數(shù)據(jù)M(memo)僅用于定義字段。固定寬度10個字節(jié)。7)通用型數(shù)據(jù)G(general)僅用于定義字段,是特殊數(shù)據(jù)類型。3.12常量常量是指在程序運(yùn)行過程中其值不變化的數(shù)據(jù)。在foxpro中有四種類型的常量:數(shù)值行常量、字符型常量、邏輯型常量、日期型常量。3.13變量變量是指用標(biāo)識符命名的,其值在程序運(yùn)行過程中經(jīng)常改變的數(shù)據(jù)。規(guī)定變量名最多為10個字符,可以由字母、數(shù)字和下劃線組成,但必須以字母開頭(也可以是漢字),中間不能有空格。3.14表達(dá)式表達(dá)式是由運(yùn)算對象、對象符和括號所組成的一個有物理意義的式子。每個表達(dá)式都產(chǎn)生一個值,并且具有某種類型,該類型稱為“表達(dá)式的類型”。3.15函數(shù)函數(shù)是系統(tǒng)為實(shí)現(xiàn)一般表達(dá)式不能或難以實(shí)現(xiàn)的某些特定操作而預(yù)先編制好的彝族程序,供用戶調(diào)用。3.2數(shù)據(jù)庫的設(shè)計(jì)在建立表、數(shù)據(jù)庫、查詢、表單、報表以及應(yīng)用程序時、可以用《項(xiàng)目管理器》來組織和管理文件。利用項(xiàng)目管理器,可以在項(xiàng)目中添加或移去文件、創(chuàng)建新文件或修改已有文件、查看表的內(nèi)容,具體設(shè)計(jì)如下:創(chuàng)建新項(xiàng)目新建一個項(xiàng)目,取名項(xiàng)目1,保存于e:2.創(chuàng)建數(shù)據(jù)庫在項(xiàng)目1中,新建一數(shù)據(jù)庫,取英文名dashansj(大山數(shù)據(jù)庫)3.在dashansj中建立數(shù)據(jù)表。在數(shù)據(jù)庫目錄中新建數(shù)據(jù)表,這里有兩種形式的表,一種是數(shù)據(jù)表,另一種是所謂的自由表。自由表是不與數(shù)據(jù)庫關(guān)聯(lián)的表,用戶可以在適當(dāng)?shù)臅r候?qū)⒆杂杀砑尤氲綌?shù)據(jù)庫中成為數(shù)據(jù)表。所建立的表如下:jihua(計(jì)劃表)內(nèi)含字段:gddm字符型寬2標(biāo)題為工段代碼sbbh字符型寬20標(biāo)題為設(shè)備編號sbmc字符型寬40標(biāo)題為設(shè)備名稱bjbh字符型寬20標(biāo)題為設(shè)備編號bjmc字符型寬40標(biāo)題為設(shè)備名稱jxfs字符型寬40標(biāo)題為檢修方式j(luò)xrq日期型寬8標(biāo)題為檢修日期dj數(shù)字型寬8標(biāo)題為單價sxbj字符型寬10標(biāo)題為所需備件jxnr字符型寬10標(biāo)題為檢修內(nèi)容bjsl數(shù)字型寬8標(biāo)題為備件數(shù)量je數(shù)字型寬8小數(shù)點(diǎn)2位,標(biāo)題為金額jhsj字符型寬20標(biāo)題為計(jì)劃時間sjsj字符型寬20標(biāo)題為實(shí)際時間cl字符型寬10標(biāo)題為材料gj字符型寬10標(biāo)題為工具fzr字符型寬10標(biāo)題為負(fù)責(zé)人jxyy字符型寬10標(biāo)題為檢修原因bz字符型寬10標(biāo)題為備注sfrk邏輯型寬1標(biāo)題為是否入庫jxfsb(檢修方式表)內(nèi)含字段:bjlb字符型寬2標(biāo)題為部件類別jxfs字符型寬40標(biāo)題為檢修方式gdb(工段表)內(nèi)含字段:gddm字符型寬2標(biāo)題為工段代碼gdmc字符型寬4標(biāo)題為工段名稱sbb(設(shè)備表)內(nèi)含字段:gddm字符型寬2標(biāo)題為工段代碼sbbh字符型寬20標(biāo)題為設(shè)備編號sbmc字符型寬40標(biāo)題為設(shè)備名稱zdbs邏輯型寬1標(biāo)題為重點(diǎn)標(biāo)識5,bjb(部件表)內(nèi)含字段:gddm字符型寬2標(biāo)題為工段代碼sbbh字符型寬20標(biāo)題為設(shè)備編號sbmc字符型寬40標(biāo)題為設(shè)備名稱bjbh字符型寬20標(biāo)題為設(shè)備編號bjmc字符型寬40標(biāo)題為設(shè)備名稱bjlb字符型寬2標(biāo)題為部件類別zdbs邏輯型寬1標(biāo)題為重點(diǎn)標(biāo)識tzl數(shù)字型寬2標(biāo)題為臺裝量bjdj數(shù)字型寬8數(shù)2位,標(biāo)題為備件單價6,zskb(知識庫表)內(nèi)含字段:gddm字符型寬2標(biāo)題為工段代碼sbbh字符型寬20標(biāo)題為設(shè)備編號sbmc字符型寬40標(biāo)題為設(shè)備名稱bjbh字符型寬20標(biāo)題為設(shè)備編號bjmc字符型寬40標(biāo)題為設(shè)備名稱bjlb字符型寬2標(biāo)題為部件類別jxrq日期型寬8標(biāo)題為檢修日期jxfs字符型寬40標(biāo)題為檢修方式lspc數(shù)字型寬8標(biāo)題為歷史頻次pjzq數(shù)字型寬8標(biāo)題為平均周期7,rqb(日期表)內(nèi)含內(nèi)容:qsrq日期型寬8標(biāo)題為起始日期zzrq日期型寬8標(biāo)題為終止日期8,dab(檔案表)內(nèi)含內(nèi)容:gddm字符型寬2標(biāo)題為工段代碼sbbh字符型寬20標(biāo)題為設(shè)備編號sbmc字符型寬40標(biāo)題為設(shè)備名稱bjbh字符型寬20標(biāo)題為設(shè)備編號bjmc字符型寬40標(biāo)題為設(shè)備名稱jxfs字符型寬40標(biāo)題為檢修方式j(luò)xrq日期型寬8標(biāo)題為檢修日期dj數(shù)字型寬8標(biāo)題為單價sxbj字符型寬10標(biāo)題為所需備件jxnr字符型寬10標(biāo)題為檢修內(nèi)容bjsl數(shù)字型寬8標(biāo)題為備件數(shù)量je數(shù)字型寬8小數(shù)點(diǎn)2位,標(biāo)題為金額jhsj字符型寬20標(biāo)題為計(jì)劃時間sjsj字符型寬20標(biāo)題為實(shí)際時間cl字符型寬10標(biāo)題為材料gj字符型寬10標(biāo)題為工具fzr字符型寬10標(biāo)題為負(fù)責(zé)人jxyy字符型寬10標(biāo)題為檢修原因bz字符型寬10標(biāo)題為備注sfrk邏輯型寬1標(biāo)題為是否入庫rpyx數(shù)字型寬8標(biāo)題為日平運(yùn)行9,yxdab(運(yùn)行檔案表)內(nèi)含內(nèi)容:gddm字符型寬2標(biāo)題為工段代碼sbbh字符型寬20標(biāo)題為設(shè)備編號sbmc字符型寬40標(biāo)題為設(shè)備名稱bjbh字符型寬20標(biāo)題為設(shè)備編號bjmc字符型寬40標(biāo)題為設(shè)備名稱jxfs字符型寬40標(biāo)題為檢修方式j(luò)xrq日期型寬8標(biāo)題為檢修日期lspc數(shù)字型寬8標(biāo)題為歷史頻次pjzq數(shù)字型寬8標(biāo)題為平均周期建完所需要的數(shù)據(jù)表后,選擇工段表,以追加方式在工段代碼里分別輸入yk,sk,對應(yīng)的工段名稱為原礦,碎礦;在設(shè)備表的設(shè)備編號里追加輸入yk999,sk999,對應(yīng)的名稱為1#旋回破碎機(jī),2#旋回破碎機(jī);在部件表里部件編號追加輸入yk9999,sk9999,對應(yīng)的部件名稱為齒輪,軸承,并在部件類別里輸入cl,zc;在檢修方式表部件類別追加輸入cl,zc,檢修方式輸入更換,清洗。為使數(shù)據(jù)表,更簡潔明了,在這里沒有使用索引。一般來說,在創(chuàng)建數(shù)據(jù)庫項(xiàng)目的數(shù)據(jù)表時,應(yīng)遵循以下幾項(xiàng)原則:1)必須把所有的數(shù)據(jù)元素組織到數(shù)據(jù)表中。同時,與同一現(xiàn)實(shí)對象相關(guān)的數(shù)據(jù)最好組織到同一個數(shù)據(jù)表中。2)必須全面為數(shù)據(jù)表中的記錄設(shè)計(jì)關(guān)鍵字,這是對數(shù)據(jù)表進(jìn)行排序、查詢和分析的必要前提。3)數(shù)據(jù)表中不允許出現(xiàn)重復(fù)的行或列,這樣不僅會浪費(fèi)磁盤存儲空間,而且還有可能在統(tǒng)計(jì)、分析數(shù)據(jù)時產(chǎn)生錯誤,從而導(dǎo)致數(shù)據(jù)庫功能的失敗。4)在每個數(shù)據(jù)單元中只允許有唯一的數(shù)據(jù)元素,這是保證數(shù)據(jù)庫查詢統(tǒng)計(jì)正確性的前提,對于實(shí)際情況中出現(xiàn)的重復(fù)元素,可以通過建立兩長表的方法來解決。專題模塊的程序設(shè)計(jì)利用表單,可以讓用戶在熟悉的界面下查看數(shù)據(jù)或?qū)?shù)據(jù)輸入數(shù)據(jù)庫,具體設(shè)計(jì)如下:4.1制作表單從〈項(xiàng)目管理器〉中選擇〈文檔〉標(biāo)簽,然后選擇表單項(xiàng),單擊〈新建〉按鈕,在彈出的〈新建表單〉對話框中選擇〈新建表單〉選項(xiàng)。這里著重介紹計(jì)劃編輯,計(jì)劃查詢和計(jì)劃生成。4.11新建表單jhbj(計(jì)劃編輯)在此表單中,主要實(shí)現(xiàn)的功能為,利用工段過濾設(shè)備,設(shè)備過濾部件,部件過濾檢修方式,并且增加若干按狃,以達(dá)到編輯和入庫的功能。具體制作如下:新建表單命名jhbj,點(diǎn)鼠標(biāo)右鍵,在數(shù)據(jù)庫設(shè)計(jì)器中添加數(shù)據(jù)表jihua,gdb,bjb,sbb和dab,利用鼠標(biāo)將jihua表拉到表單上,形成一個數(shù)據(jù)表,并將其放置于表單左邊,同時在jihua數(shù)據(jù)表中用鼠標(biāo)左鍵拖出如下圖中所示文本框,并且增加四個復(fù)選框,在表單界面添加七個按狃,分別命名如下圖所示,位于表單位置下邊部位。此時應(yīng)對表單更改屬性,點(diǎn)鼠標(biāo)右鍵,出現(xiàn)屬性框,在數(shù)據(jù)中找到buffermode將其選為2-開放式,此處更改為緩沖模式。雙擊表單,在form1事件代碼里輸入如下代碼:setdeleon,settalkoff在grdjihuaclick事件代碼里輸入:thisform.refresh在combo4click事件代碼里輸入:selesbbsetfiltertoallt(gddm)=allt(gdb.gddm)單擊combo4右鍵,在生成器列表項(xiàng)選gdb并選定gdmc和gddm,并在生成器布局中雙擊gddm,(此處雙擊gddm隱藏,以下均為同意),并在生成器值中選定gddm返回,并存儲到j(luò)ihua.gddm在combo1click事件代碼里輸入:m=sele('')selebjbsetfiltertoallt(sbbh)=allt(sbb.sbbh)thisform.txtsbmc.value=allt(sbb.sbmc)selejihuasbbh=sbb.sbbhsele(m)單擊combo1右鍵,在生成器列表項(xiàng)選sbb并選定sbmc和sbbh,并在生成器布局中雙擊sbbh,并在生成器值中選定sbbh返回,并存儲到j(luò)ihua.sbbh在combo2click事件代碼里輸入:selejxfsbsetfiltertoallt(bjlb)=allt(bjb.bjlb)thisform.txtbjmc.value=allt(bjb.bjmc)thisform.txtdj.value=bjb.bjdjselejihuabjbh=bjb.bjbh單擊combo2右鍵,在生成器列表項(xiàng)選bjb并選定bjbh,bjmc和sbbh,并在生成器布局中雙擊sbbh和bjbh并在生成器值中選定bjbh返回,并存儲到j(luò)ihua.bjbh在combo3click事件里無需輸入代碼,單擊combo3右鍵,在生成器列表項(xiàng)選jxfsb并選定jxfs和bjlb,并在生成器布局中雙擊bjlb并在生成器值中選定jxfs返回,并存儲到j(luò)ihua.jxfs在command1click事件里輸入代碼:m=sele('')selejihuaappendmand1.enabled=.mand2.enabled=.mand3.enabled=.mand4.enabled=.mand5.enabled=.mand7.enabled=.bo1.enabled=.bo2.enabled=.bo3.enabled=.bo4.enabled=.t.thisform.txtsbmc.enabled=.t.thisform.txtbjmc.enabled=.t.thisform.txtjhsj.enabled=.t.thisform.txtsjsj.enabled=.t.thisform.txtsxbj.enabled=.t.thisform.txtbjsl.enabled=.t.thisform.txtjxnr.enabled=.t.thisform.txtjxyy.enabled=.t.thisform.txtje.enabled=.t.thisform.txtjxrq.enabled=.t.thisform.txtbz.enabled=.t.thisform.txtcl.enabled=.t.thisform.chksfrk.enabled=.t.thisform.txtgj.enabled=.t.thisform.txtfzr.enabled=.t.thisform.refreshsele(m)在command2caption里輸入修改,click事件里輸入代碼:m=sele('')selemand1.enabled=.mand2.enabled=.mand3.enabled=.mand4.enabled=.mand5.enabled=.mand7.enabled=.bo1.enabled=.bo2.enabled=.bo3.enabled=.bo4.enabled=.t.thisform.txtsbmc.enabled=.t.thisform.txtbjmc.enabled=.t.thisform.txtjhsj.enabled=.t.thisform.txtsjsj.enabled=.t.thisform.txtsxbj.enabled=.t.thisform.txtbjsl.enabled=.t.thisform.txtjxnr.enabled=.t.thisform.txtjxyy.enabled=.t.thisform.txtje.enabled=.t.thisform.txtjxrq.enabled=.t.thisform.txtbz.enabled=.t.thisform.txtcl.enabled=.t.thisform.chksfrk.enabled=.t.thisform.txtgj.enabled=.t.thisform.txtfzr.enabled=.t.thisform.refreshsele(m)在command3caption里輸入刪除click事件里輸入代碼:selejihuayn=messagebox('確定刪除此記錄?',4+64+256,'信息提示')docasecaseyn=6deletetableupdate()thisform.refreshcaseyn=7tablerevert()endcasegotopthisform.refreshmand1.enabled=.mand2.enabled=.mand3.enabled=.mand4.enabled=.mand5.enabled=.mand7.enabled=.t.bo1.enabled=.bo2.enabled=.bo3.enabled=.bo4.enabled=.f.thisform.txtsbmc.enabled=.f.thisform.txtbjmc.enabled=.f.thisform.txtjhsj.enabled=.f.thisform.txtsjsj.enabled=.f.thisform.txtsxbj.enabled=.f.thisform.txtbjsl.enabled=.f.thisform.txtjxnr.enabled=.f.thisform.txtjxyy.enabled=.f.thisform.txtje.enabled=.f.thisform.txtjxrq.enabled=.f.thisform.txtbz.enabled=.f.thisform.txtcl.enabled=.f.thisform.chksfrk.enabled=.f.thisform.txtgj.enabled=.f.thisform.txtfzr.enabled=.f.在command4caption里輸入確認(rèn)click事件里輸入代碼:m=sele('')selejihuadj=jihua.djbjsl=jihua.bjslthisform.txtje.value=dj*bjslsumjetozjethisform.text3.value=zjeif!eof()skipskip-1elsegobottomendif=tableupdate()mand1.enabled=.t.mand2.enabled=.t.mand3.enabled=.t.mand4.enabled=.f.mand5.enabled=.f.mand7.enabled=.t.bo1.enabled=.bo2.enabled=.bo3.enabled=.bo4.enabled=.f.thisform.txtsbmc.enabled=.f.thisform.txtbjmc.enabled=.f.thisform.txtjhsj.enabled=.f.thisform.txtsjsj.enabled=.f.thisform.txtsxbj.enabled=.f.thisform.txtbjsl.enabled=.f.thisform.txtjxnr.enabled=.f.thisform.txtjxyy.enabled=.f.thisform.txtje.enabled=.f.thisform.txtjxrq.enabled=.f.thisform.txtbz.enabled=.f.thisform.txtcl.enabled=.f.thisform.chksfrk.enabled=.f.thisform.txtgj.enabled=.f.thisform.txtfzr.enabled=.f.thisform.refreshsele(m)在command5caption里輸入還原,click事件里輸入代碼:m=sele('')selejihua=tablerevert()mand1.enabled=.t.mand2.enabled=.t.mand3.enabled=.t.mand4.enabled=.f.mand5.enabled=.f.mand7.enabled=.t.sele(m)在command6caption里輸入入庫,click事件里輸入代碼:c=sele('')selejihuach=messagebox('確認(rèn)入庫嗎?',4+32+0,'信息窗口')ifch=6n=reccount()fori=1tongoigb=jihua.gddmsb=jihua.sbbhsm=jihua.sbmcbb=jihua.bjbhbm=jihua.bjmcwf=jihua.jxfswr=jihua.jxrqcb=jihua.sxbjcs=jihua.bjsldj=jihua.djcost=jihua.jejg=jihua.jhsjsg=jihua.sjsjrk=jihua.sfrkgj=jihua.jxnryy=jihua.jxyyfr=jihua.fzrx=jihua.bzinsertintodab(gddm,sbbh,sbmc,bjbh,bjmc,jxfs,jxrq,sxbj,bjsl,dj,je,jhsj,sjsj,sfrk,jxnr,jxyy,fzr,bz);value(gb,sb,sm,bb,bm,wf,wr,cb,cs,dj,cost,jg,sg,rk,gj,yy,fr,x)endforelsereturnendifthisform.refreshsele(c)在command7caption里輸入退出,click事件里輸入代碼:thisform.release將combo4,combo1,combo2,combo3,txtsbmc,txtbjmc,txtjxrq,txtjhsj,txtsjsj,txtsxbj,txtbjsl,txtdj,txtje,txtzje,txtjxnr,txtjxyy,txtbz,txtcl,txtfzr,txtgj,chksfrk,command4,command5事件屬性enabled改為F—假。最后呢,將表單Form1背景顏色屬性改為0,128,128即為深藍(lán)色。4.12,jhcx(計(jì)劃查詢)在此表單中,主要是便于方便用戶查詢記錄,具體制作如下:新建表單命名jhcx,點(diǎn)鼠標(biāo)右鍵,在數(shù)據(jù)庫設(shè)計(jì)器中添加數(shù)據(jù)表jihua,gdb,bjb,sbb和jxfsb,利用鼠標(biāo)將jihua表拉到表單上,形成一個數(shù)據(jù)表,并將其放置于表單左邊,同時在jihua數(shù)據(jù)表中用鼠標(biāo)左鍵拖出如圖中所示文本框,并且增加,三個復(fù)選框,分別命名如上圖所示,位于表單顯示位置。此時應(yīng)對表單創(chuàng)建屬性,點(diǎn)鼠標(biāo)右鍵,出現(xiàn)屬性框,在數(shù)據(jù)中找到buffermode將其選為2-開放式,此處更改為緩沖模式。雙擊表單,在form1事件代碼里輸入:setdeleon,settalkoff在grdjihuaclick事件代碼里輸入:thisform.refresh在combo4click事件代碼里輸入:selejihuasetfiltertojihua.gddm=gdb.gddm=tablerevert()thisform.refresh單擊combo4右鍵,在生成器列表項(xiàng)選gdb并選定gdmc和gddm,并在生成器布局中雙擊gddm并在生成器值中選定gddm返回,無需存儲。在combo1click事件代碼里輸入:selejihuasetfiltertojihua.gddm=gdb.gddmsetfiltertojihua.sbbh=sbb.sbbhthisform.refresh單擊combo1右鍵,在生成器列表項(xiàng)選sbb并選定sbmc和sbbh,并在生成器布局中雙擊sbbh并在生成器值中選定sbbh返回,無需存儲。在combo2click事件代碼里輸入:selejihuasetfiltertojihua.bjbh=bjb.bjbhthisform.refresh單擊combo2右鍵,在生成器列表項(xiàng)選bjb并選定bjmc,bjbh和sbbh,并在生成器布局中雙擊sbbh和bjbh并在生成器值中選定sbbh返回,無需存儲。單擊text1右鍵,在生成器列表項(xiàng)值中選擇Rqb.Qsrq返回。單擊text2右鍵,在生成器列表項(xiàng)值中選擇Rqb.zzrq返回。在command4click屬性代碼里輸入:thisform.release將text1,text2txtsbmc,txtbjmc,txtjxrq,txtjhsj,txtsjsj,txtsxbj,txtbjsl,txtdj,txtje,txtzje,txtjxnr,txtjxyy,txtbz,txtcl,txtfzr,txtgj,chksfrk,事件屬性readonly都改為T—.真.。最后呢,將表單Form1背景顏色屬性改為0,128,128即為深藍(lán)色。4.13,jhsc(計(jì)劃生成)在此表單中,主要制作的目的是生成新的計(jì)劃,去掉老的計(jì)劃,稱之周計(jì)劃生成,具體制作如下:新建表單命名jhsc,點(diǎn)鼠標(biāo)右鍵,在數(shù)據(jù)庫設(shè)計(jì)器中添加數(shù)據(jù)表jihua,dab,zskb,yxdab,和rqb,利用鼠標(biāo)將jihua表拉到表單上,形成一個數(shù)據(jù)表,并將其放置于表單左邊,同時在jihua數(shù)據(jù)表中用鼠標(biāo)左鍵拖出如圖中所示文本框,分別命名如上圖所示,位于表單顯示位置。此時應(yīng)對表單創(chuàng)建屬性,點(diǎn)鼠標(biāo)右鍵,出現(xiàn)屬性框,在數(shù)據(jù)中找到buffermode將其選為2-開放式,此處更改為緩沖模式。雙擊表單,在form1事件代碼里輸入settalkoff在grdjihuaclick事件代碼里輸入:thisform.refresh單擊text1右鍵,在生成器列表項(xiàng)值中選擇Rqb.Qsrq返回。單擊text2右鍵,在生成器列表項(xiàng)值中選擇Rqb.zzrq返回。在text1lostfocus事件代碼里輸入:thisform.text2.value=thisform.text1.value+6在text3lostfocus事件代碼里輸入:thisform.text3.value=thisform.text2.value+1thisform.text4.value=thisform.text3.value+6在command3click屬性代碼里輸入:m=sele('')selejihuach=messagebox("確實(shí)生成計(jì)劃嗎?",4+32+0,"提示信息")ifch=6deletealltableupdate()elsereturnendifthisform.refreshsele(m)在command2caption屬性改為確定click屬性代碼里輸入:c=sele('')ifempty(thisform.text3.value).and.empty(thisform.text4.value)messagebox("請輸入計(jì)劃日期!",40,"提示信息!")endifselezskbn=reccount()fori=1tonselezskbgoigb=zskb.gddmsb=zskb.sbbhsm=zskb.sbmcbb=zskb.bjbhbm=zskb.bjmcbl=zskb.bjlbjf=zskb.jxfsjr=zskb.jxrqlp=zskb.lspcpz=zskb.pjzqrq=thisform.text4.valueseleyxdablocateforsbbh=sb.and.bjbh=bbiffound()ys=yxsjendififys>=pzinsertintojihua(gddm,sbbh,sbmc,bjbh,bjmc,jxfs,jxrq,sxbj,bjsl,dj,je,jxnr,jhsj,sjsj,cl,gj,sfrk,jxyy,fzr,bz);value(gb,sb,sm,bb,bm,jf,rq,'',0,0.00,0.00,0,0,0,'','',.f.,'','','')endifendforselejihuam=reccoun()fori=1tomifjxfs='更換'sm=sbbhbm=bjbhselebjblocateforsbbh=sm.and.bjbh=bmiffound()bc=bjmcdj=bjdjsl=tzlendifselejihuareplaceclbjwithbmreplacedjwithdjreplacebjslwithslreplacejewithdj*bjslendifendforselejihuay=reccount()fori=1toyifjxfs='更換'sd=sbbhbd=bjbhdeleallforsbbh=sd.and.bjbh=bd.and.jxfs<>'更換'endifendforthisform.label4.visible=.f.thisform.label5.visible=.f.thisform.label6.visible=.f.thisform.text3.visible=.f.thisform.text4.visible=.mand3.visible=.f.thisform.text1.value=thisform.text3.valuethisform.text2.value=thisform.text4.valuerq1=thisform.text3.valuerq2=thisform.text4.valueselerqbappendblankreplaceqsrqwithrq1replacezzrqwithrq2thisform.refreshsele(c)在command1屬性caption改為退出click屬性代碼里輸入:thisform.release最后呢,將表單Form1背景顏色屬性改為0,128,128即為深藍(lán)色。總體來說,用戶在設(shè)計(jì)一個新的表單時,應(yīng)遵循以下步驟來進(jìn)行:用戶用戶表單的屬性;在表單中添加所需的控件對象;設(shè)置控件對象的屬性;書寫表單及控件對象的事件驅(qū)動代碼表單的調(diào)整與報表布局的調(diào)整有許多相似之處,如控件對齊操作、修改控件尺寸、設(shè)置控件色彩的操作幾乎都是一樣的,這里就不再介紹了。但表單控件報表控件也有不同,表單中的控件在調(diào)整和定制之后,將對控件的屬性產(chǎn)生影響。設(shè)置Tab順序在表單中,可以設(shè)置允許通過使用Tab鍵來移動焦點(diǎn),用戶可以通過設(shè)置Tabindex屬性來設(shè)置或修改控件的Tab順序。用戶也可以在《顯示》菜單中選擇《Tab鍵次序》選項(xiàng),或是單擊《表單設(shè)計(jì)器》工具欄的《設(shè)置Tab鍵次序》按鈕,使《表單設(shè)計(jì)器》由設(shè)計(jì)模式進(jìn)入設(shè)置Tab順序模式,然后在其中交互式地修改控件Tab順序,如圖所示:設(shè)置控件對象的Tab順序,應(yīng)先單擊控件對象左邊的Tab順序框,設(shè)置此對象的Tab順序?yàn)?,然后按Shift鍵,單擊其他對象的Tab順序框,依次設(shè)置此對象的順序?yàn)?,3……。設(shè)置完畢,接受此Tab順序,并返回設(shè)計(jì)模式。設(shè)置完Tab順序后,控件對象的TabIndex屬性將受到影響。在表單運(yùn)行后,當(dāng)使用者使用Tab鍵來移動焦點(diǎn)時,移動順序?qū)从脩粼O(shè)置的Tab順序進(jìn)行。4.2:制作計(jì)劃報表做為一個完善的系統(tǒng),其輸入、輸出是兩個不可缺少的部分,報表便是輸出數(shù)據(jù)的重要工具。以下主要將介紹報表的設(shè)計(jì)方法。事實(shí)上數(shù)據(jù)表有兩個,一個是從表,它記錄了礦山機(jī)械的全部內(nèi)容,另一個是主表,錄入方式有表單方式(即單表表單)和多表方式(即主從表方式)。報表也一樣,有單表報表和主從報表,由于單表報表已經(jīng)在前面有所涉及,為此本節(jié)將介紹主從報表的制作方法。其步驟如下:(1)打開項(xiàng)目管理器。(2)在項(xiàng)目管理器中將頁面切換至“文檔”頁。(3)在文檔頁中選擇“報表”,如下圖所示。(4)點(diǎn)擊“新建”按鈕出現(xiàn)報表向?qū)姘?,如下圖所示。在面板上有兩種方式建立報表,第一種是新建立報表,它生成一個空白報表,如下圖所示。在空白報表之中,需要用戶自己增添控件、引入數(shù)據(jù)源等,比較復(fù)雜,一般需要熟悉的程序員才能完成。第二種是按報表向?qū)蓤蟊?,它是一種程序化的制作過程,比較簡單。在此,選擇報表向?qū)е谱鲌蟊?。?)點(diǎn)擊“報表向?qū)А卑粹o如下圖所示的窗口。(6)選擇“一對多報表向?qū)А?,點(diǎn)擊“確定”按鈕出現(xiàn)如下圖所示的窗口。在引入數(shù)據(jù)源時,往往需要打開一個文件夾對話框。在項(xiàng)目文件夾中選擇主表數(shù)據(jù)表,它會將主表中的一切字段列示出來,供制作者選擇。全部選入到右邊的字段列表框中,如下列圖所示。點(diǎn)擊“下一步”,出現(xiàn)如圖所示的窗口。(9)將從表字段選擇到右邊的字段列表框中,然后點(diǎn)擊“下一步”,出現(xiàn)主從表在報表中的關(guān)聯(lián)字段,它與表單的數(shù)據(jù)關(guān)聯(lián)完全一樣,如圖所示。報表中的數(shù)據(jù)與表單中的數(shù)據(jù)一樣,顯示時往往需要按某一個字段或幾個字段進(jìn)行排序顯示。因此點(diǎn)擊“下一步”按鈕即進(jìn)入字段排序的設(shè)置,如果不需要進(jìn)行排序則直接點(diǎn)擊“完成”按鈕即可。報表是一種格式性很強(qiáng)的東西,點(diǎn)擊“下一步”會出現(xiàn)一個報表樣式選擇窗口,選擇適當(dāng)?shù)膱蟊順邮郊纯?。另外,報表中往往需要產(chǎn)生統(tǒng)計(jì)數(shù)字。為此,對該字段作統(tǒng)計(jì)設(shè)計(jì),如圖所示。最后出現(xiàn)報表完成設(shè)置,如保存、修改、預(yù)覽等。在保存報表之前,最好做一次預(yù)覽,它能夠體現(xiàn)報表設(shè)置的正確性和完善性,如果需要修改,再做其他選擇。將報表保存到項(xiàng)目創(chuàng)建的報表文件夾即可,后面在主窗體中將調(diào)用它。完成后會發(fā)現(xiàn),向?qū)⒊霈F(xiàn)一個程序生成器,在它之中,自動地報表放置到該生成器之中了,如圖所示??梢钥闯?,VisualFoxpro6.0的向?qū)且粋€比較完美的程序制作工具。但注意到,無論是表單或是報表,用向?qū)е谱鞯臇|西總是固定的,它未必能滿足人們的需要,在前面的表單制作中多次涉及到,需要人們對它進(jìn)行修改和完善。4.3制作主窗體在項(xiàng)目中,已經(jīng)制作了三個程序,一個計(jì)劃編輯,一個是計(jì)劃生成,一個是計(jì)劃查詢,需要一個主界面將三者聯(lián)系起來,形成一個總體。具體主窗體界面如下所示:主窗體的制作方法如下:打開項(xiàng)目管理器進(jìn)入項(xiàng)目制作。在項(xiàng)目管理器中將頁面切換至“文檔”。在文檔頁面中選擇“表單”。增加一個新的空白的表單。在表單中放入三個命令按鈕及一個標(biāo)簽控件。設(shè)置命令按鈕及標(biāo)簽的屬性。修飾主表單。最后也是最重要的是,需要為三個按鈕控件編制事件代碼,如果沒有什么事情也不能實(shí)現(xiàn)。生成器是帶有選項(xiàng)卡的對話框,用于簡化對表單、復(fù)雜控件和參觀完整性代碼的創(chuàng)建和修改過程。每個生氣器顯示一系列選項(xiàng)卡,用于設(shè)置選中對象的屬性??墒褂蒙善髟跀?shù)據(jù)庫表之間生成控件、表單、設(shè)置控件格式和創(chuàng)建參照完整性。VisualFoxpro6.0是一個功能強(qiáng)大的數(shù)據(jù)庫管理系統(tǒng)(DBMS),同以前的數(shù)據(jù)庫管理系統(tǒng)相比,具有更快速、更有效、更靈活的突出特點(diǎn)。它能夠迅速而又簡單地建立用戶的數(shù)據(jù)庫,從而方便到使用和管理數(shù)據(jù);它不僅支持客戶機(jī)/服務(wù)器(client/server)結(jié)構(gòu),而切具有與其他軟件共享和交換數(shù)據(jù)的能力。VisualFoxpro6.0提供對象和事件處理模式,利用面向?qū)ο缶幊蹋∣OP)的威力使用戶能夠最快速到建立和修改應(yīng)用程序。因此,用VisualFoxpro6.0做為編輯軟件的平臺,大大加快了編輯人員的工作進(jìn)度,而且為數(shù)據(jù)庫系統(tǒng)的開發(fā)提供了更快的速度、更強(qiáng)的能力和更大的靈活性。系統(tǒng)使用說明設(shè)備維修管理是設(shè)備管理的重要內(nèi)容之一。礦上生產(chǎn)中大部分設(shè)備處于連續(xù)運(yùn)行狀態(tài),如選礦廠的生產(chǎn)設(shè)備。大多數(shù)礦山設(shè)備均具有工作條件惡劣、負(fù)荷大的特點(diǎn),切故障出現(xiàn)的隨即性也較大。因此,關(guān)鍵設(shè)備因故障引起的非正常停機(jī)將造成整個生產(chǎn)過程的中斷,帶來很大的經(jīng)濟(jì)損失。預(yù)知故障出現(xiàn)的時間并進(jìn)行即使有效的維修可以減少設(shè)備停機(jī)時間,從而提高設(shè)備運(yùn)轉(zhuǎn)率,最大限度地減少由于故障造成的經(jīng)濟(jì)損失。據(jù)此,利用數(shù)據(jù)庫技術(shù),建立一個較為完整的設(shè)備維修管理專家系統(tǒng),對設(shè)備故障信息進(jìn)行分析、預(yù)測及有效知道設(shè)備維修是非常必要的。該系統(tǒng)具有診斷、調(diào)試、計(jì)劃和執(zhí)行等功能,對發(fā)生故障的礦山設(shè)備進(jìn)行處理,使其恢復(fù)正常工作,這個系統(tǒng)既能對有經(jīng)驗(yàn)的維修工程師提供維修設(shè)備幫助,也能訓(xùn)練初學(xué)者以提高他們的業(yè)務(wù)水平。其次,這個系統(tǒng)使專家的專長不受時間和空間的限制。礦山設(shè)備專家維修系統(tǒng)充分調(diào)查礦山選廠設(shè)備維修管理的實(shí)際要求,收集某選礦廠的歷史維修數(shù)據(jù),并對其進(jìn)行分析計(jì)算,確定該廠所有設(shè)備極其零部件的平均維修周期、歷史頻次……。掌握專家系統(tǒng)的基本理論極其應(yīng)用。在此基礎(chǔ)上進(jìn)行系統(tǒng)分析,確定其總體功能極其數(shù)據(jù)結(jié)構(gòu),完成系統(tǒng)的數(shù)據(jù)與開發(fā)。具體主要功能如下:5.1.主要功能:5.11.系統(tǒng)維護(hù)管理,包括:工段表編輯(含添加、修改、刪除)與查詢設(shè)備表編輯(含添加、修改、刪除)與查詢部件表編輯(含添加、修改、刪除)與查詢維修方式名稱表編輯(含添加、修改、刪除)與查詢數(shù)據(jù)庫清理:對打上刪除標(biāo)記的記錄進(jìn)行清理,釋放其占用內(nèi)存。5.12維修知識庫管理:包括維修知識庫編輯:對維修知識表中的內(nèi)容進(jìn)行增刪或修改。維修知識庫查詢:根據(jù)輸入的設(shè)備及部件名稱查找對應(yīng)該設(shè)備零部件維修知識表內(nèi)容進(jìn)行查詢。(3)自動維護(hù)知識庫:根據(jù)已執(zhí)行維修
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 空分機(jī)競爭策略分析報告
- 血液灌流吸附器競爭策略分析報告
- 儲能系統(tǒng)采購合同范本
- 廣告物料供貨合同范本
- 合伙買貨車合同范本
- 中專幼師自我鑒定
- 植物生產(chǎn)與環(huán)境練習(xí)題與參考答案
- 經(jīng)絡(luò)腧穴學(xué)模擬習(xí)題(含參考答案)
- 包租協(xié)議合同范本模板
- 醫(yī)療物資購銷合同范本
- T-BJCC 1003-2024 首店、首發(fā)活動、首發(fā)中心界定標(biāo)準(zhǔn)
- 園區(qū)宣傳方案
- 銀行承兌匯票和商業(yè)承兌匯票課件
- 特朗普貿(mào)易戰(zhàn)的基本邏輯、本質(zhì)及其應(yīng)對
- 經(jīng)口鼻吸痰法護(hù)理課件
- 《園林生態(tài)學(xué)》課件
- 初中化學(xué)實(shí)驗(yàn)報告單(上)
- 貨物質(zhì)量與安全控制方案
- 高中物理多普勒效應(yīng)練習(xí)題
- 交通事故授權(quán)委托書樣本(通用)
- 鹽酸利多卡因應(yīng)用于無痛導(dǎo)尿術(shù)的臨床效果觀察
評論
0/150
提交評論