數(shù)據(jù)庫訪問的三層結(jié)構(gòu)研究碩士學(xué)位論文學(xué)士學(xué)位論文_第1頁
數(shù)據(jù)庫訪問的三層結(jié)構(gòu)研究碩士學(xué)位論文學(xué)士學(xué)位論文_第2頁
數(shù)據(jù)庫訪問的三層結(jié)構(gòu)研究碩士學(xué)位論文學(xué)士學(xué)位論文_第3頁
數(shù)據(jù)庫訪問的三層結(jié)構(gòu)研究碩士學(xué)位論文學(xué)士學(xué)位論文_第4頁
數(shù)據(jù)庫訪問的三層結(jié)構(gòu)研究碩士學(xué)位論文學(xué)士學(xué)位論文_第5頁
已閱讀5頁,還剩75頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

分類號(hào)TP311學(xué)校代號(hào)10561UDC密級(jí)學(xué)號(hào)200320100905碩士學(xué)位論文數(shù)據(jù)庫訪問的三層結(jié)構(gòu)研究華南理工大學(xué)學(xué)位論文基于MES的立德粉質(zhì)量管理信息系統(tǒng)的研究指導(dǎo)老師: 自動(dòng)化科學(xué)與工程學(xué)院申請(qǐng)學(xué)位級(jí)別:工學(xué)碩士 專業(yè)名稱:模式識(shí)別與智能系統(tǒng)論文提交日期:論文答辯日期:學(xué)位授予單位和日期:華南理工大學(xué) 答辯委員會(huì)主席: 論文評(píng)閱人: PAGE74華南理工大學(xué)學(xué)位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫的成果作品。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。作者簽名:日期:年月日學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,即:研究生在校攻讀學(xué)位期間論文工作的知識(shí)產(chǎn)權(quán)單位屬華南理工大學(xué)。學(xué)校有權(quán)保存并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許學(xué)位論文被查閱(除在保密期內(nèi)的保密論文外);學(xué)校可以公布學(xué)位論文的全部或部分內(nèi)容,可以允許采用影印、縮印或其它復(fù)制手段保存、匯編學(xué)位論文。本人電子文檔的內(nèi)容和紙質(zhì)論文的內(nèi)容相一致。本學(xué)位論文屬于:□保密,在年解密后適用本授權(quán)書?!醪槐C?。學(xué)位論文全文電子版提交后:□同意在校園網(wǎng)上發(fā)布,供校內(nèi)師生和與學(xué)校有共享協(xié)議的單位瀏覽。(請(qǐng)?jiān)谝陨舷鄳?yīng)方框內(nèi)打“√”)本人簽名:日期:導(dǎo)師簽名:日期:數(shù)據(jù)庫訪問的三層結(jié)構(gòu)目錄PAGEI目錄TOC\o"1-3"\u摘要 IABSTRACT II第一章 分析整理表格 11.1對(duì)公司現(xiàn)用表格存在問題 11.2公司的生產(chǎn)背景 11.2.1PTC起動(dòng)器的簡(jiǎn)介和生產(chǎn)流程圖: 11.2.2保護(hù)器的簡(jiǎn)介和生產(chǎn)流程圖: 21.3表格分析的過程 31.4典型表格的分析及設(shè)計(jì) 41.4.1PTC元件檢驗(yàn)記錄表 41.4.2溫調(diào)工序生產(chǎn)日?qǐng)?bào)表: 61.4.3零件二班成型工序生產(chǎn)日?qǐng)?bào)表 71.5本章小結(jié) 9第二章 數(shù)據(jù)訪問的三層結(jié)構(gòu)及相關(guān)工具的概述 102.1數(shù)據(jù)訪問的三層結(jié)構(gòu)概述 102.1.1上層用戶端 102.1.2中間層數(shù)據(jù)訪問 102.1.3底層數(shù)據(jù)層 112.2VisualBasic6.0概述及運(yùn)用 112.2.1VisualBasic的特點(diǎn) 112.2.2VisualBasic的程序調(diào)試 112.3MicrosoftSQLServer7.0概述及運(yùn)用 132.3.1MicrosoftSQLServer的結(jié)構(gòu)原理 132.3.2MicrosoftSQLServer7.0中常用的兩個(gè)管理工具: 142.4VisualSourceSafe6.0(VSS)概述 152.5本章小結(jié) 16第三章 上層用戶端 173.1VB的窗體模塊(文件擴(kuò)展名為.Frm) 173.1.1窗體的加載與卸載過程 173.1.2Form的程序修改 173.2函數(shù)MsgBox 193.3ActiveX控件 203.3.1ActiveX控件的概述 203.3.2幾個(gè)重要控件的介紹及相關(guān)程序修改 203.3.3第二類表主要控件及程序修改 273.3.4第三類表主要控件及程序修改 293.3.5第四類表主要控件及程序修改 363.4總結(jié)解決技巧 373.4.1使用MSDNLibrary查閱器 373.4.2利用原有控件、動(dòng)態(tài)連接 373.4.3利用VisualBasic6.0的程序調(diào)試工具 373.5本章小結(jié) 37第四章 中間層數(shù)據(jù)訪問 384.1下部數(shù)據(jù)庫訪問技術(shù) 384.1.1ODBC數(shù)據(jù)庫訪問 384.1.2ADO數(shù)據(jù)訪問技術(shù) 394.1.3動(dòng)態(tài)鏈接庫.DLL 394.2上部用戶端交接 424.2.1數(shù)據(jù)庫控件(ADO) 424.2.2類模塊的數(shù)據(jù)操作規(guī)則: 434.3本章小結(jié) 50第五章底層數(shù)據(jù)庫 515.1數(shù)據(jù)庫的基本概念 515.1.1數(shù)據(jù)庫的三個(gè)重要術(shù)語: 515.1.2數(shù)據(jù)庫系統(tǒng)的特征: 515.1.3數(shù)據(jù)模型的概念: 515.1.4關(guān)系模型的基本概念: 525.2數(shù)據(jù)庫管理系統(tǒng)的結(jié)構(gòu) 525.3支持自定義業(yè)務(wù)的統(tǒng)一數(shù)據(jù)庫結(jié)構(gòu) 535.3.1統(tǒng)一數(shù)據(jù)庫結(jié)構(gòu)的描述: 535.4統(tǒng)一數(shù)據(jù)庫結(jié)構(gòu)的運(yùn)用步驟: 555.4.1取得數(shù)據(jù)管理對(duì)象、指標(biāo)、指標(biāo)組ID: 555.4.2修改VisualBasic中對(duì)應(yīng)的管理對(duì)象、指標(biāo)、指標(biāo)組ID常量: 585.4.3通過SQL實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的操作: 595.5本章小結(jié) 68第六章結(jié)束語 696.1數(shù)據(jù)訪問過程小結(jié) 696.1.1表格的取數(shù)步驟 696.1.2表格的保存數(shù)據(jù)步驟 696.2目前工作的總結(jié) 696.3進(jìn)一步的工作 70卓虹的論文初稿摘要PAGE70摘要本文所論述的是由華南理工大學(xué)、廣州靜遠(yuǎn)科技開發(fā)有限公司和萬寶冷機(jī)集團(tuán)廣州電器有限公司合作開發(fā)的“生產(chǎn)過程統(tǒng)一信息資源,數(shù)據(jù)可視化管理系統(tǒng)”項(xiàng)目。在現(xiàn)場(chǎng)調(diào)研時(shí),發(fā)現(xiàn)整個(gè)生產(chǎn)流程都涉及到表格的填寫、處理。如:每個(gè)工序都要填寫相關(guān)的日?qǐng)?bào)表以反映當(dāng)天生產(chǎn)產(chǎn)品的數(shù)量;質(zhì)檢部要填寫檢驗(yàn)記錄表以反映以反映產(chǎn)品的及格情況。表格起到了聯(lián)系各個(gè)部門,反映各個(gè)部門工作情況的作用。表格的使用是該公司實(shí)現(xiàn)生產(chǎn)管理的手段。因此,本文的重點(diǎn)研究的是:如何使用戶在網(wǎng)頁上以表格的形式實(shí)現(xiàn)生產(chǎn)數(shù)據(jù)的可視化操作(操作包括對(duì)生產(chǎn)數(shù)據(jù)的錄入和管理等)。本文通過對(duì)公司整個(gè)生產(chǎn)過程及現(xiàn)用表格功能的分析,綜合整理出四類表格。由于這四類表格所實(shí)現(xiàn)的功能有比較大的差別,因此程序需要修改的地方也各有不同。本文將建立在“支持自定義業(yè)務(wù)的統(tǒng)一數(shù)據(jù)庫平臺(tái)”上,使用VisualBasic6.0SQLSever7.0VisualSourceSave等工具,對(duì)這四類表的制作過程作詳細(xì)的介紹。把四類表格列為四個(gè)模板,在制作具體各個(gè)表格的時(shí)候,只需要分析其功能屬于哪一類,即可以套用相應(yīng)模板。對(duì)于程序,也只需要修改管理對(duì)象ID、指標(biāo)組ID以及用戶錄入界面即可。并且通過介紹,總結(jié)出表格的分析制作的一般規(guī)律,對(duì)于擴(kuò)展表格類型,做出更多功能的表格,推廣到不同生產(chǎn)領(lǐng)域的數(shù)據(jù)可視化管理系統(tǒng)有著重要的意義。數(shù)據(jù)庫訪問技術(shù)同樣可應(yīng)用于把數(shù)據(jù)實(shí)時(shí)采集得到的數(shù)據(jù)存儲(chǔ)及顯示。制作表格需要解決三方面問題,首先是底層數(shù)據(jù)庫要在少冗余的條件下實(shí)現(xiàn)數(shù)據(jù)共享(使所有用戶的數(shù)據(jù)都包含在數(shù)據(jù)庫中)和數(shù)據(jù)的統(tǒng)一管理。其次是中間層數(shù)據(jù)訪問要提供快速、有效的接口。最后是上層用戶端的界面顯示,要滿足用戶的需求,符合用戶的操作習(xí)慣。以上問題,本文歸納為數(shù)據(jù)庫訪問的三層結(jié)構(gòu)問題。第一章主要以萬寶公司的起動(dòng)器和保護(hù)器的生產(chǎn)為例子,介紹如何分析整理表格。第二章總體介紹數(shù)據(jù)庫訪問的三層結(jié)構(gòu),簡(jiǎn)述相關(guān)的工具特點(diǎn)及在這次項(xiàng)目中常用的功能。第三章介紹對(duì)于上層用戶如何完善整個(gè)頁面的顯示及表格各種功能實(shí)現(xiàn)。第四章詳細(xì)介紹中間層數(shù)據(jù)訪問技術(shù),及相應(yīng)的修改。第五章介紹底層數(shù)據(jù)庫的基本概念、結(jié)構(gòu)及程序的修改方法。ABSTRACT數(shù)據(jù)庫訪問的三層結(jié)構(gòu)ABSTRACTTheprojectdiscussedinthispaperissponsoredbySouthChinaUniversityofTechnology,GuangzhouJingyuanScienceandTechnologyCorporationandGuangzhouWanbaoFactory,whichisnamedas“Informationresourcewhichunifiedbythemanufactureprocess,Thevisualdatamanagementsystem”.AfterinvestigatedthelocaleofGuangzhouWanbaoFactory,wefoundthewholemanufactureprocessreferestofillinginanddealingwithtables.Forinstance:Interrelateddailyreportsmustbefilledinbyeachworkingproduretoreflectthequantityofproductioninthatday;Theexaminationtablesmustbefilledinbythedepartmentofqualityexaminationtoreflectthestatusoftheproductionrate.Tablesareusedtoconnectandreflecteachworkingstatusindifferentdepartment.TheuseoftablesisawonderfulinstrumentofrealizingmanufacturemanagementinGuangzhouWanBaoFactory.Consequently,Thispaperfocusesonhowtomakethecontrolofthevisualproductiondata(control:includingenregisterandmanagemanufacturedata)byreliziedtheformoftables.Afterinvestigatedthewholemanufactureprocessoffactory,wecananalyseandcoordinatefourtypestable.Fromthetablesfuncion,whichisusingattheGuangzhouWanBaoFactory.Becausetherearemanydifferencesinthisfourtypestable,Themodificationoftheprocedurewillbecomingmore,andthemanydifferentplacesmustbechanged.Thispaperbasein“Unifieddatabaseplatformwhichsupportsself-definedoperationiwork-flow“,usetoolsofVisualBasic6.0,SQLSever7.0andVisualSourceSave.Thanintroudcetheprocessofcteationtablesindetail.Classintofourmouldingboard.Whencreatingothertables,wemayonlyanalysewhichmouldingboardthefunctionoftablebelongsto,andthanapplymechanicallythecorrespondencemouldingboard.Totheprogram,wemayonlymodifytheManageClassIdentityId,IndicesGroupIdentityIdanduserInputInterface.Throughtheintroduction,summarizetheorderlinessofanalysingandcreatintables,Itmadeanbasilicsignificationofexpandingthetypeoftables,creatingmultifunctiongaltables,popularizetheVisualDataManageSustemtodifferentmanufacturedomain.Tocreattables,mustsolvethreeproblems:First,thebottomlayerdatabase,whichhaslittleredundance,realizedatashare,makethedataofallusersiscontainedindatabaseandmanageunifieddata.Second,theconnectinglayercanprovidecelertyandeffectiveinterfacetoaccessdata.Atlast,thesuperficiallayeruserportmustsatisfytheneededandtheoperationhabitofallusers.Thispaperreduceabovethreeproblemstooneproblem“ThreeLayersConfigurationofAccessingDatabase“ThechapteroneintroducethebackgroundoftheWanbaoFactory,whichproducesself-starterandprotectapparatus,andhowtoanalyerandcreattables.Thechaptertowtellsof“ThreeLayersConfigurationofAccessingDatabase“collectivity(Inculdingtheinput,operation,managementofproductiondata),andinterrelatedtools.ThechapterthreeintroducetherunningprocessofVisualBasicandtheprogrammodificationofActiveX.Thechapterfourdetailsthetechniqueofconnectinglayerdataaccessandtheinterrelatedmodification.Thechapterfiveintroducethebasicconception,configurationandprogrammodificationmethodofbottomlayerdatabase.數(shù)據(jù)庫訪問的三層結(jié)構(gòu)分析整理表格分析整理表格項(xiàng)目的開始應(yīng)該針對(duì)公司的生產(chǎn)情況,從現(xiàn)用的表格入手,然后對(duì)其進(jìn)行優(yōu)化處理。使表格盡可能提供詳細(xì)的消息的同時(shí)減少數(shù)據(jù)錄入量和用戶操作步驟。1.1對(duì)公司現(xiàn)用表格存在問題在調(diào)研中發(fā)現(xiàn),萬寶公司所用的表格繁多,而且存在以下幾個(gè)方面的問題:1.1.1在某些環(huán)節(jié)上會(huì)出現(xiàn)重復(fù)描述的現(xiàn)象。如:質(zhì)檢部對(duì)PTC元件外觀進(jìn)行檢查后,填寫了相應(yīng)的表格,還必須把數(shù)據(jù)抄到起動(dòng)器的檢驗(yàn)結(jié)果報(bào)告中(PTC元件是起動(dòng)器的主要組成部分)。增加了重復(fù)的工作步驟,不但減低了工作效率,還會(huì)增加出錯(cuò)的機(jī)會(huì)。1.1.2對(duì)于某些環(huán)節(jié)沒有做出記錄。如:零件成型工序生產(chǎn)日?qǐng)?bào)表中,每人每天都要對(duì)生產(chǎn)零件數(shù)、油檢合格數(shù)進(jìn)行統(tǒng)計(jì),但其實(shí)受到實(shí)際生產(chǎn)流程的影響,每天生產(chǎn)零件和油檢零件的型號(hào)不一定相同,而在表中卻沒有對(duì)型號(hào)作出記錄。這樣會(huì)使決策者不能更前面地分析公司的生產(chǎn)情況,不能做出更合理的準(zhǔn)確的判斷。1.1.3現(xiàn)用表格頁面限制,由于公司還是用筆錄的形式填寫表格,所以存在表格格式設(shè)計(jì)不合理的情況。如格子太小,不利于填寫和閱讀。受紙張大小限制,編排太密,不利于日后的查找、統(tǒng)計(jì)。有些表格則不需全部填寫,造成浪費(fèi)。1.2公司的生產(chǎn)背景要解決上述的問題,必須盡量收集齊現(xiàn)用表格,并且對(duì)公司的整個(gè)生產(chǎn)流程作了解,從各環(huán)節(jié)考慮,以保證所做表格能全面反映整個(gè)生產(chǎn)情況。萬寶公司主要購入部分零件、元件,或者通過數(shù)控機(jī)床生產(chǎn)所需零件,然后加工、組裝成PTC起動(dòng)器和保護(hù)器出售。1.2.1PTC起動(dòng)器的簡(jiǎn)介和生產(chǎn)流程圖:彈簧端子C端組件彈簧端子D端組件彈簧端子C端組件彈簧端子D端組件電極板將PTC元件插入到裝有連接端子的盒體內(nèi)把底蓋合上PTC起動(dòng)器成品彈簧端子C、D端組件與電極板點(diǎn)焊聯(lián)接端子殼體把連接端子插入到殼體內(nèi)聯(lián)接板端子盒體PTC元件底蓋半成品批號(hào)打印及外觀導(dǎo)通檢查軟線把軟線與起動(dòng)器端子焊接在一起PTC起動(dòng)器的生產(chǎn)流程圖:1.2.2保護(hù)器的簡(jiǎn)介和生產(chǎn)流程圖:保護(hù)器的簡(jiǎn)介:萬寶公司生產(chǎn)的是堞型過載保護(hù)器,它實(shí)質(zhì)上就是一個(gè)過流熱繼電器,將它串入電路中,當(dāng)制冷系統(tǒng)發(fā)生故障或電源電壓過低等原因造成電機(jī)不能正常工作,主副繞組中繼續(xù)通入超過額定電流許多倍的起動(dòng)電流時(shí),使得電機(jī)立即斷開電源,以免被燒毀。保護(hù)器生產(chǎn)流程圖:萬寶公司主要組裝的是保護(hù)器,工序比較多,分成兩個(gè)班組負(fù)責(zé)不同的工藝流程鉚接完成的電熱絲組件平面/繞簧型電熱絲鉚接完成的電熱絲組件平面/繞簧型電熱絲電熱絲端子板觸點(diǎn)端子板觸點(diǎn)端子板和電熱絲端子板與電熱絲焊接電熱絲組件觸點(diǎn)端子板盒體插入端子板鉚緊固定高度修正雙金屬片調(diào)解螺絲六角墊圈鉚接、點(diǎn)焊、熱處理盒體感溫元件、電熱絲組件裝入盒內(nèi)感溫元件保護(hù)器半成品,送組裝二班保護(hù)器半成品初動(dòng)作特性檢查保護(hù)器半成品初動(dòng)作特性檢查型號(hào)(標(biāo)記)/批號(hào)打印初動(dòng)作溫度調(diào)整檢查軟線軟線切割斷及剝口旗型端子鉚接鉸接頭鉚接軟線組件帶鉸接頭的一端焊接在保護(hù)器端子上焊接半成品保護(hù)器成品上部接頭點(diǎn)焊及外觀導(dǎo)通檢查1.3表格分析的過程按生產(chǎn)流程,把收集到的表格排序,并且要適當(dāng)?shù)爻瓕憥讉€(gè)實(shí)際的數(shù)據(jù)(有時(shí)光看表格中項(xiàng)目的名字,很難知道它所表達(dá)的意思),這樣做有助于發(fā)現(xiàn)表格間的內(nèi)在聯(lián)系、表格間的區(qū)別和表格各自的特點(diǎn)。主要考慮的內(nèi)容包括以下幾點(diǎn):1.3.1每張表格需要填寫的項(xiàng)目及各項(xiàng)目的意義,如:物質(zhì)進(jìn)銷存卡的產(chǎn)品批號(hào)是割據(jù)不同的零件和進(jìn)廠日期進(jìn)行編號(hào)。是否有多余或者缺少的項(xiàng)目。項(xiàng)目與項(xiàng)目之間的關(guān)系,如:一張表格只有一個(gè)型號(hào),型號(hào)對(duì)應(yīng)有多個(gè)批號(hào),這種關(guān)系是一對(duì)多的關(guān)系。1.3.2表格的表現(xiàn)形式。公司筆錄將被電子化取代,我們希望在電腦顯示的表格具有更強(qiáng)的操作性,用戶使用時(shí)就可以實(shí)現(xiàn)最基本的篩選,只看到所關(guān)心的數(shù)據(jù)。所以在保證表格能表達(dá)原有的信息的前提下,把所有項(xiàng)目以指標(biāo)形式排列在表格第一行,用戶想對(duì)表格其中的某一個(gè)或者幾個(gè)指標(biāo)作有條件的查找時(shí),只需在第一行相應(yīng)格的篩選下拉框選擇,則會(huì)列出滿足要求的行。1.3.3表與表之間的關(guān)系(這里還要解決表格重復(fù)錄入數(shù)據(jù)的問題)。表間關(guān)系主要有兩個(gè):1.時(shí)間先后。如:統(tǒng)計(jì)表必須在日?qǐng)?bào)表完成后才能填寫。2.生產(chǎn)流程先后。如:生產(chǎn)任務(wù)通知書要先有生產(chǎn)班組提供的完成情況,才能發(fā)出新的任務(wù)。1.4典型表格的分析及設(shè)計(jì)1.4.1PTC元件檢驗(yàn)記錄表以下是公司正在使用的PTC元件檢驗(yàn)記錄表,質(zhì)檢部的檢查人員每檢查一批PTC元件都要填寫一張PTC元件檢驗(yàn)記錄表進(jìn)廠編號(hào):自編號(hào):部門編號(hào):標(biāo)準(zhǔn)值直徑:厚度:標(biāo)準(zhǔn)值直徑:厚度:判定2.外觀檢驗(yàn):標(biāo)準(zhǔn)要求表面光滑平整,無缺損、裂紋或掛傷,兩面電極完整均勻判定3.常溫電阻值檢驗(yàn):阻值范圍()數(shù)量(片)阻值范圍()數(shù)量(片)標(biāo)準(zhǔn)值()判定檢驗(yàn)員:表中有以下幾點(diǎn)要考慮:從工序上看檢驗(yàn)員要對(duì)同一批PTC元件進(jìn)行抽樣檢查,所以導(dǎo)致表格上的的進(jìn)廠編號(hào)、自編號(hào)、檢驗(yàn)員都填寫一次,而對(duì)應(yīng)的尺寸、外觀、常溫電阻值就會(huì)有多項(xiàng)。這是其他表格都存在的一對(duì)多關(guān)系,這里稱作父子關(guān)系,即一個(gè)父的進(jìn)廠編號(hào)對(duì)應(yīng)多個(gè)子。設(shè)計(jì)時(shí)應(yīng)該分為父表和子表,只有當(dāng)父表的進(jìn)廠編號(hào)決定以后才可以填寫子表。經(jīng)過調(diào)研,部門編號(hào)是不變的,在平時(shí)的檢驗(yàn)中都不用填寫。出現(xiàn)了數(shù)據(jù)冗余,設(shè)計(jì)時(shí)應(yīng)該把它去掉。尺寸、外觀、常溫電阻值雖然來自于同一批PTC元件,但是沒有直接的關(guān)系。因?yàn)橥粋€(gè)元件可以三項(xiàng)都檢查,也可以只檢查其中的一項(xiàng)或者兩項(xiàng)。設(shè)計(jì)時(shí),可以分別用三個(gè)子表填寫,而子表對(duì)應(yīng)的都是同一個(gè)父表。表中出項(xiàng)的格數(shù)的冗余,尺寸檢驗(yàn)最多可以填寫63個(gè),而常溫電阻值檢驗(yàn)最多可以填寫16個(gè),這樣可能會(huì)出現(xiàn)尺寸檢驗(yàn)的格數(shù)過多,而常溫電阻值檢驗(yàn)的格數(shù)不足。設(shè)計(jì)時(shí),采用靈活的增行功能,每檢驗(yàn)一個(gè)零件增加一行,并且在第一列自動(dòng)編號(hào),以便日后查找。尺寸檢驗(yàn)中,斜桿是用來劃分直徑和厚度的,這會(huì)使得空間不夠,不但填寫不方便,查閱時(shí)也容易看錯(cuò)。設(shè)計(jì)時(shí),可以把它分成兩列,分別填寫直徑和厚度。常溫電阻值檢驗(yàn)中,出現(xiàn)了描述的重復(fù),每一個(gè)元件檢查只填寫一次阻值范圍和數(shù)量。設(shè)計(jì)時(shí),只需要兩列。綜合以上分析,設(shè)計(jì)出兩類表:第一類稱為父表,其特點(diǎn)是只完成數(shù)據(jù)錄入的功能,無須引用其他表格上的數(shù)據(jù)。為了查找、篩選的方便,加上日期一列。最后頁面的顯示如下圖:第二類稱為子表,其特點(diǎn)是只完成數(shù)據(jù)錄入的功能,但受到父表的影響。父子間在時(shí)間上有先后,是一對(duì)多的關(guān)系。子表受到父表的限制,所以在表頭要加一行“請(qǐng)選擇”,當(dāng)選好父表中存在的實(shí)例,才能進(jìn)行錄入。從功能上看,除了有基本功能(保存數(shù)據(jù)到數(shù)據(jù)庫里,從數(shù)據(jù)庫里取得所需數(shù)據(jù)并填到表格上)以外,還要有子表和父表聯(lián)系。最后頁面的顯示如下圖:1.4.2溫調(diào)工序生產(chǎn)日?qǐng)?bào)表:以下是公司里面制作部管理的生產(chǎn)車間每天都要填寫的日?qǐng)?bào)表的其中一張,這些表格占公司所填表格的大部分,它們的形式相似。溫調(diào)工序生產(chǎn)日?qǐng)?bào)表2005年5月日期2627282930311……25一次投入投入數(shù)16500良品數(shù)10850篩選(當(dāng)日)良品數(shù)2400篩選(隔日)投入數(shù)2650良品數(shù)3150當(dāng)日合計(jì)良品數(shù)16400累計(jì)良品數(shù)16400日合格率64.76%注:省略號(hào)表示中間的2日到24日。表中有以下幾點(diǎn)要考慮:從表可知,生產(chǎn)個(gè)人每天在對(duì)應(yīng)的日期上填寫一列。由于日期已經(jīng)排好,會(huì)出現(xiàn)放假,休息的時(shí)候表格當(dāng)天記錄空白,影響表格美觀。設(shè)計(jì)時(shí),使用自動(dòng)加入日期,即新增一個(gè)記錄的時(shí)候就自動(dòng)在日期內(nèi)填入當(dāng)天的日期。數(shù)據(jù)查找不方便,必須現(xiàn)找到對(duì)應(yīng)的年月,再找到相應(yīng)的日。由于整個(gè)表格都是數(shù)據(jù)的填寫,導(dǎo)致統(tǒng)計(jì)人員容易出錯(cuò)。設(shè)計(jì)時(shí),為了實(shí)現(xiàn)篩選的功能,即通過日期的篩選可以馬上顯示出相應(yīng)的數(shù)據(jù),把表格的第一列在頁面上顯示為第一行。每天的統(tǒng)計(jì),如算出良品數(shù)、及格率,都會(huì)增加出錯(cuò)機(jī)會(huì)。設(shè)計(jì)時(shí),應(yīng)該由程序?qū)崿F(xiàn),不需要人手錄入。生產(chǎn)用的表格把日期作為列的主要目的是為了對(duì)應(yīng)地畫出以日期為橫坐標(biāo),生產(chǎn)數(shù)量(只)為縱坐標(biāo)的產(chǎn)量走勢(shì)圖,用折線的波動(dòng)的形式直觀地反映生產(chǎn)情況,以方便決策者做出分析和安排工作。設(shè)計(jì)時(shí),可以在填寫同一個(gè)報(bào)表的時(shí)候由程序?qū)崿F(xiàn),并且就放在表格的后面。只要選擇頁面下的標(biāo)簽欄就可以看到反映相應(yīng)列的圖。由于公司每月最后一個(gè)星期要對(duì)整月進(jìn)行統(tǒng)計(jì),所以報(bào)表從26日開始到25日結(jié)束,累計(jì)從26日開始。每月的最大日不相同,所以在報(bào)表顯示的時(shí)候,不可以從1日開始。折線圖應(yīng)該根據(jù)月份的不同而不同。綜合以上分析,設(shè)計(jì)第三類表:其特點(diǎn)是能對(duì)表中某指定行或者列即時(shí)畫出相應(yīng)的曲線圖,直觀地反應(yīng)實(shí)際生產(chǎn)的情況。從下圖可見,當(dāng)新增加一行是,第一列日期自動(dòng)填寫,當(dāng)錄入前五列后,當(dāng)日合計(jì)良品數(shù)、累計(jì)良品數(shù)、日合格率馬上會(huì)顯示計(jì)算結(jié)果。當(dāng)點(diǎn)擊頁面下的標(biāo)簽欄。如累計(jì)良品數(shù),則會(huì)出現(xiàn)以日期為橫坐標(biāo),累計(jì)良品數(shù)量(只)為縱坐標(biāo)的折線圖。1.4.3零件二班成型工序生產(chǎn)日?qǐng)?bào)表此表與第三類表的表現(xiàn)形式比較相似,但是設(shè)計(jì)起來比較復(fù)雜,在表格上錄入數(shù)據(jù)以后實(shí)現(xiàn)的統(tǒng)計(jì)方法有所不同。零件二班成型工序生產(chǎn)日?qǐng)?bào)表2005年5月序號(hào)項(xiàng)目\日期2627282930311…251周活龍型號(hào)B84-120B成型6639每天油檢B64-115U/2000每天油檢合格18552黃顯光型號(hào)B84-125T成型6674每天油檢B64-115Q/4000每天油檢合格3765…總計(jì)成型日產(chǎn)30227成型累計(jì)30227每天油檢16100每天油檢及格累計(jì)16100注:行的省略號(hào)表示中間的2日到24日;列的省略號(hào)表示有多個(gè)人。表中有以下幾點(diǎn)要考慮:要實(shí)現(xiàn)篩選功能必須把第一列安排在頁面的第一行,但是表格上的人數(shù)不定。由于受到指標(biāo)組的個(gè)數(shù)必須一定的限制,所以要保持人員數(shù)可以增加表格原來的數(shù)據(jù)沒有缺少的同時(shí),還要保證頁面上的列數(shù)一定。在實(shí)際的數(shù)據(jù)填寫上,每天油檢除了填寫數(shù)量還要填寫型號(hào),因?yàn)楫?dāng)天油檢的不一定是生產(chǎn)的零件,還要多加一列。根據(jù)上兩格因素,把上面非統(tǒng)計(jì)部分設(shè)計(jì)為第三類表,表頭如下表所示:零件二班成型工序生產(chǎn)日?qǐng)?bào)表日期姓名型號(hào)成型數(shù)量油檢型號(hào)油檢投入數(shù)量油檢合格數(shù)量零件二班成型工序生產(chǎn)日?qǐng)?bào)表的統(tǒng)計(jì)部分和第三類有所不同,第三類的計(jì)算是通過對(duì)FormulaOne6.0的公式編寫實(shí)現(xiàn),但是上表由于采用上表頁面顯示姓名、日期來確定唯一行的排列沒有規(guī)律,所以不能直接使用公式,必須從數(shù)據(jù)庫讀取數(shù)據(jù)的時(shí)候形成一個(gè)排好順序的表,然后才能使用公式。由于數(shù)據(jù)統(tǒng)計(jì)部分的計(jì)算方法和第三類表不同,需要另外再建一個(gè)指標(biāo)組,所以產(chǎn)生了專門顯示統(tǒng)計(jì)數(shù)據(jù)不能更改的第四類表。綜合以上分析,設(shè)計(jì)第四類表:其特點(diǎn)是用于統(tǒng)計(jì),不作數(shù)據(jù)錄入。主要問題是解決從數(shù)據(jù)庫中取出相關(guān)的數(shù)據(jù),作出統(tǒng)計(jì),并顯示在表格上(有需要的也可以畫成圖表,生成圖表的方法和第三類表相同)方便決策者比較分析,然后定出符合實(shí)際的方案。由于第四類表格只用于顯示統(tǒng)計(jì)后的數(shù)據(jù),并不作錄入數(shù)據(jù),因此“新增”“刪除”“保存”功能都不可用。最后頁面的顯示如下圖:1.5本章小結(jié)本章主要介紹了萬寶公司的生產(chǎn)流程,并在此基礎(chǔ)上分析、整理出四類表格。這四類表格同樣可以用于別的生產(chǎn)領(lǐng)域當(dāng)中。在后面幾章中,都以這四類表的制作為例子,加深實(shí)現(xiàn)數(shù)據(jù)可視化的理解。數(shù)據(jù)訪問的三層結(jié)構(gòu)及相關(guān)工具的概述數(shù)據(jù)庫訪問的三層結(jié)構(gòu)數(shù)據(jù)訪問的三層結(jié)構(gòu)及相關(guān)工具的概述如何實(shí)現(xiàn)上一章所述的表格,必須先知道其形成的總體原理,只有清楚表格上的數(shù)據(jù)是如何保存、操作,如何讀取、顯示。才可能有的放矢,準(zhǔn)確快速地找到解決方法。另外,必須對(duì)所用工具了解得越多,使用起來才會(huì)得心應(yīng)手。善于利用軟件工具,能幫助我們更快地找到問題所在。在開發(fā)過程中,為了維護(hù)、管理好所編寫的程序,采用適當(dāng)?shù)墓芾砉ぞ呤潜仨毜摹QLSever7.0ODBC;ADO;.DLL;類模塊的數(shù)據(jù)操作規(guī)則;數(shù)據(jù)庫控件;SQLSever7.0ODBC;ADO;.DLL;類模塊的數(shù)據(jù)操作規(guī)則;數(shù)據(jù)庫控件;數(shù)據(jù)錄入、修改數(shù)據(jù)讀取、查詢窗體底層數(shù)據(jù)庫數(shù)據(jù)源中間層數(shù)據(jù)訪問上層用戶端ActiveX控件(F1,Chart);用戶控件;ADO組件頂層對(duì)象;.OCX數(shù)據(jù)庫訪問的三層結(jié)構(gòu)圖由于整個(gè)數(shù)據(jù)訪問的過程都通過VisualBasic6.0編程工具實(shí)現(xiàn),并且最后會(huì)打包成一個(gè).OCX控件作為一個(gè)整體使用,因此在程序上三層結(jié)構(gòu)的劃分有交叉,不是很明顯。這里的三層結(jié)構(gòu)主要是從邏輯上分層,根據(jù)上圖,以下對(duì)每層完成的功能作簡(jiǎn)單的介紹:2.1.1上層用戶端負(fù)責(zé)收集用戶信息,即數(shù)據(jù)錄入等工作,并進(jìn)行前臺(tái)顯示響應(yīng)信息。用戶組件以ActiveX控件形式體現(xiàn),如表格使用FormulaOne6.0,圖形使用FirstImpression6.0。ActiveX控件提供標(biāo)準(zhǔn)可視化界面元素,打包后嵌入到HTML頁面,以可視界面與用戶交互。其過程是通過ActiveX控件在IE瀏覽器中調(diào)用遠(yuǎn)程數(shù)據(jù)服務(wù)組件實(shí)現(xiàn)。2.1.2中間層數(shù)據(jù)訪問本次項(xiàng)目是應(yīng)用程序通過引用API的函數(shù)利用數(shù)據(jù)訪問對(duì)象(DAO)來使用ODBC。實(shí)現(xiàn)對(duì)底層數(shù)據(jù)庫的訪問。在實(shí)際的應(yīng)用中,這些函數(shù),即ODBC、動(dòng)態(tài)連接.DLL等,都已經(jīng)打包,我們只要設(shè)置好數(shù)據(jù)源,建立好連接則可用??梢酝ㄟ^控制面板對(duì)ODBC進(jìn)行設(shè)置,VB中參數(shù)傳遞來調(diào)用動(dòng)態(tài)連接.DLL。對(duì)于ADO,則通過在程序中編寫類模塊的數(shù)據(jù)操作規(guī)則和數(shù)據(jù)庫控件實(shí)現(xiàn)。2.1.3底層數(shù)據(jù)層底層數(shù)據(jù)庫是數(shù)據(jù)存儲(chǔ)的地方,可以針對(duì)不同的應(yīng)用選取不同的數(shù)據(jù)源。本次項(xiàng)目使用SQLSever7.0工具實(shí)現(xiàn)對(duì)數(shù)據(jù)庫可視化的操作。在SQLSever7.0系統(tǒng)中查看并操作表(這里的表是指關(guān)系數(shù)據(jù)庫中的表)的存儲(chǔ)過程和數(shù)據(jù)庫結(jié)構(gòu)的描述。而萬寶公司的數(shù)據(jù)庫是建立在“支持自定義業(yè)務(wù)的統(tǒng)一數(shù)據(jù)庫平臺(tái)”上,其結(jié)構(gòu)會(huì)在第三章作介紹。2.2VisualBasic6.0概述及運(yùn)用具體的實(shí)現(xiàn)數(shù)據(jù)訪問的工具有很多種,例如VB,VC等,本次項(xiàng)目使用VisualBasic6.0,這里對(duì)VisualBasic6.0不作詳細(xì)的介紹,只講述在編程中需要用到和需要注意的部分:2.2.1VisualBasic的特點(diǎn)VisualBasic6.0有很多優(yōu)點(diǎn),主要是基于下面幾個(gè)原因,使編程難度降低,效率得以提高而選用:提供了面向?qū)ο蟮目梢暬幊坦ぞ遃isualBasic采用的是面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,它把程序和數(shù)據(jù)封裝在一起視作為一個(gè)對(duì)象。設(shè)計(jì)程序時(shí)只需從現(xiàn)有的工具箱中“拖”出所需的對(duì)象,如按鈕、滾動(dòng)條等,并為每一個(gè)對(duì)象設(shè)置屬性,這樣就可以在屏幕上“畫”出所需要的用戶界面來,因而程序設(shè)計(jì)的效率可大大的提高。事件驅(qū)動(dòng)的編程方法傳統(tǒng)的程序設(shè)計(jì)是一種面向過程的方式,程序總是按事先設(shè)計(jì)好的流程運(yùn)行,而不能將后面的程序放在前面運(yùn)行,即用戶不能隨意改變、控制流程的流向,這不符合人類的思維習(xí)慣。在VisualBasic中,用戶的動(dòng)作——事件控制著程序的流向,每個(gè)事件都驅(qū)動(dòng)一段程序的運(yùn)行。程序員只需編寫響應(yīng)用戶動(dòng)作的代碼,而各個(gè)動(dòng)作之間不一定有聯(lián)系,這樣的應(yīng)用程序代碼一般比較短,所以程序易于編寫與維護(hù)。3.支持多種數(shù)據(jù)庫的訪問數(shù)據(jù)訪問特性允許對(duì)包括MisrosoftSQLServer和其他企業(yè)數(shù)據(jù)庫在內(nèi)的大部分?jǐn)?shù)據(jù)庫格式建立數(shù)據(jù)庫和前端應(yīng)用程序,以及可調(diào)整的服務(wù)器端部件。VisualBaseic6.0中數(shù)據(jù)訪問的新特性首先,采用了新的數(shù)據(jù)訪問技術(shù)ADC(ActiveDataObject),使之能更好地訪問本地和遠(yuǎn)程的數(shù)據(jù)庫。其次,在數(shù)據(jù)環(huán)境方面,允許程序員可視化地創(chuàng)建和操作ADO連接及命令,為程序員操作數(shù)據(jù)源提供了很大的方面。第三,增加了ADO控件和集成的可視化數(shù)據(jù)庫工具。2.2.2VisualBasic的程序調(diào)試在編寫表格時(shí),語句較多,還有模塊間的相互多次調(diào)用,編程時(shí)不容易發(fā)現(xiàn)錯(cuò)誤,懂得如何運(yùn)用VisualBasic的調(diào)試工具有助于了解程序運(yùn)行次序,快捷有效地檢查程序中非語法或語義錯(cuò)誤產(chǎn)生的地點(diǎn)和原因。VisualBasic為程序調(diào)試提供了一組交互的、有效的調(diào)試工具,這些調(diào)試支持包括:設(shè)置斷點(diǎn),逐語句、逐過程地控制程序地運(yùn)行,利用調(diào)試窗口顯示監(jiān)視表達(dá)式、變量和屬性的值等。1.編程時(shí)常見錯(cuò)誤有以下幾點(diǎn):●編譯錯(cuò)誤:(1)標(biāo)點(diǎn)符號(hào)錯(cuò)(程序中只能使用西文標(biāo)點(diǎn)),關(guān)鍵字輸入錯(cuò),一行語句沒有寫完整等,這類錯(cuò)誤VisualBasic可以設(shè)置自動(dòng)語法檢測(cè),在編譯時(shí)直接檢測(cè)出來,錯(cuò)誤行以紅色顯示。(2)對(duì)象寫錯(cuò)。代碼窗口中的對(duì)象名和屬性窗口中該對(duì)象的name屬性名統(tǒng)一。對(duì)象的屬性名、方法名、內(nèi)部函數(shù)名寫錯(cuò);變量未定義或變量名寫錯(cuò)(可在通用說明段加OptionExplicit,采用變量顯示說明);塊If沒有對(duì)應(yīng)的EndIf語句;For循環(huán)沒有對(duì)應(yīng)的Next語句;Do循環(huán)沒有對(duì)應(yīng)的Loop語句等,這類錯(cuò)誤當(dāng)VisualBasic開始運(yùn)行時(shí)提示錯(cuò)誤信息,且將出錯(cuò)位置用反色顯示?!襁\(yùn)行錯(cuò)誤:應(yīng)用程序在運(yùn)行期間,當(dāng)一個(gè)語句力圖執(zhí)行一個(gè)不能執(zhí)行的操作時(shí),就會(huì)發(fā)生運(yùn)行時(shí)錯(cuò)誤。(數(shù)據(jù)結(jié)構(gòu)無法復(fù)制)VisualBasic能檢測(cè)到運(yùn)行錯(cuò)誤,并提示出錯(cuò)信息。2.解決方法:可以用該工具欄提供的按鈕運(yùn)行要測(cè)試的程序、中斷程序的運(yùn)行、在程序中設(shè)置斷電、監(jiān)視變量、逐語句和逐過程調(diào)試等(VisualBasic不能診斷或更正錯(cuò)誤,但能提供工具來幫助分析運(yùn)行是如何從過程的一部分流動(dòng)到另一部分的,分析變量和屬性是如何隨著語句的執(zhí)行而改變的。有了調(diào)試工具,就能深入到應(yīng)用程序內(nèi)部去觀察,從而確定到底發(fā)生了什么以及為什么會(huì)發(fā)生),以查找并排除代碼中存在的錯(cuò)誤?!窨刂瞥绦虻倪\(yùn)行:逐句運(yùn)行:一次執(zhí)行一個(gè)語句,沒執(zhí)行一個(gè)語句就進(jìn)入中斷模式,“逐語句”會(huì)執(zhí)行在當(dāng)前執(zhí)行點(diǎn)上的語句。如果此語句是對(duì)一個(gè)過程的調(diào)用,下一個(gè)被顯示的語句就是該過程內(nèi)的第一個(gè)語句。逐過程運(yùn)行:只有在當(dāng)前的語句含有一個(gè)對(duì)過程的調(diào)用時(shí),兩者才會(huì)有差異?!爸疬^程”是將過程視為一個(gè)基本單位來執(zhí)行。一般在確認(rèn)某些過程不存在錯(cuò)誤時(shí)選用。從過程中跳出:執(zhí)行當(dāng)前執(zhí)行點(diǎn)所在過程中剩余未執(zhí)行的行。下個(gè)被顯示的語句是緊隨在該過程調(diào)用后的語句。所有在當(dāng)前與最后的執(zhí)行點(diǎn)間的代碼都會(huì)被執(zhí)行?!裨O(shè)置斷點(diǎn):斷點(diǎn)是程序中作了標(biāo)記的位置,(在代碼編輯器窗口,用鼠標(biāo)單擊要設(shè)置斷點(diǎn)的代碼行左邊框位置,再單擊可清楚。)通過斷點(diǎn)的設(shè)置,可以使程序在需要中斷的地方自動(dòng)停止執(zhí)行,并進(jìn)入中斷模式。當(dāng)應(yīng)用程序產(chǎn)生的結(jié)果不正確時(shí),再查看代碼并試圖查找可能產(chǎn)生問題的語句,再這些語句設(shè)置斷點(diǎn)?!癯绦蛘{(diào)試窗口:本地窗口:可自動(dòng)顯示出所有當(dāng)前過程中的變量聲明及變量值。立即窗口:當(dāng)調(diào)試一個(gè)應(yīng)用程序時(shí),可用“立即窗口”中執(zhí)行單個(gè)的過程、對(duì)表達(dá)式求值或?yàn)樽兞炕驅(qū)傩再x予新的值,可以通過在“立即窗口”中輸出變量或表達(dá)式的值來計(jì)算表達(dá)式。(在中斷模式下直接輸入Print方法或“?”)●監(jiān)視窗口:顯示當(dāng)前的監(jiān)視表達(dá)式的值。當(dāng)工程中有監(jiān)視表達(dá)式定義時(shí),就會(huì)自動(dòng)出現(xiàn)。監(jiān)視表達(dá)式會(huì)在每次進(jìn)入中斷模式時(shí)更新。2.2.3表格在VisualBaseic6.0中的實(shí)現(xiàn)按照程序完成的任務(wù)不同,分別在不同的模塊上編寫。了解不同模塊對(duì)整個(gè)表格功能的影響,有助于對(duì)程序的查找。1.窗體模塊Form:命名為frmInput,用于放置頁面上所見控件及相關(guān)的程序。2.標(biāo)準(zhǔn)模塊Modul:有兩個(gè):一個(gè)為ModFunction,用于存放公共的Function函數(shù),如取得當(dāng)天所在月分的開始顯示日期,檢驗(yàn)表是1日,日?qǐng)?bào)表是26日。和用于存放全局常量,如PublicConstcnnStr="dsn=emis;uid=emisuser;pwd=emisuser";一個(gè)為ModServer,用于存放與數(shù)據(jù)庫交互前取得記錄的結(jié)構(gòu)的程序,如取得記錄的結(jié)構(gòu)GetRstStruct,取得記錄集的值GetRstValue。3.類模塊Class:用戶可自定義類創(chuàng)建對(duì)象,這里專門用于數(shù)據(jù)庫交互。如保存數(shù)據(jù)SaveData,生成SQL語句CreateSql等。4.用戶控件Usercontrol:體統(tǒng)與用戶之間的接口,因?yàn)樵诎l(fā)布到網(wǎng)站以前,表格的程序?qū)⒈淮虬桑甇CX控件,然后作為ActiveX控件添加到工控界面上,所以可以在Usercontrol通過PropertyLet/Get提供屬性,通過RaiseEven提供事件。和調(diào)出錄入界面,這里是ShowInput。2.3MicrosoftSQLServer7.0概述及運(yùn)用2.3.1MicrosoftSQLServer的結(jié)構(gòu)原理MicrosoftSQLServer是一種基于客戶機(jī)/服務(wù)器的關(guān)系模型數(shù)據(jù)庫管理系統(tǒng),使用Transact-SQL語句在服務(wù)器和客戶機(jī)之間傳送請(qǐng)求。如下圖所示:客戶機(jī)應(yīng)用程序服務(wù)器數(shù)據(jù)庫管理系統(tǒng)(DBMS)請(qǐng)求回應(yīng)MicrosoftSQLServer客戶機(jī)/服務(wù)器結(jié)構(gòu)SQLServer使用客戶機(jī)/服務(wù)器體系結(jié)構(gòu)把所有的工作負(fù)荷分解成在服務(wù)器機(jī)器上的任務(wù)和客戶機(jī)機(jī)器上的任務(wù)??蛻魴C(jī)應(yīng)用程序負(fù)責(zé)商業(yè)邏輯和向用戶提供數(shù)據(jù),一般運(yùn)行在一個(gè)或者多個(gè)客戶機(jī)機(jī)器上,但是也可以運(yùn)行在服務(wù)器上。服務(wù)器管理數(shù)據(jù)庫和分配可用的服務(wù)器資源,如內(nèi)存、網(wǎng)絡(luò)帶寬和磁盤操作。關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)負(fù)責(zé)管理數(shù)據(jù)庫的結(jié)構(gòu),其內(nèi)容主要包括維護(hù)數(shù)據(jù)庫中數(shù)據(jù)之間的關(guān)系、確保數(shù)據(jù)存儲(chǔ)的準(zhǔn)確性以及在系統(tǒng)失敗時(shí)恢復(fù)全部數(shù)據(jù)。在客戶機(jī)/服務(wù)器數(shù)據(jù)庫系統(tǒng)中,有兩個(gè)主要的組成部分,就是程序和數(shù)據(jù)庫結(jié)構(gòu)。程序是為基于客戶機(jī)的用戶訪問數(shù)據(jù)提供一個(gè)用戶界面,而數(shù)據(jù)庫結(jié)構(gòu)是用來管理和存儲(chǔ)服務(wù)器上的數(shù)據(jù)。數(shù)據(jù)庫主要是存儲(chǔ)了數(shù)據(jù)的表的集合以及其他的數(shù)據(jù)對(duì)象,這些對(duì)象主要是視圖、索引、存儲(chǔ)過程和觸發(fā)器。SQLServer可以同時(shí)支持許多數(shù)據(jù)庫,每個(gè)數(shù)據(jù)庫既可以存儲(chǔ)與另一個(gè)數(shù)據(jù)庫相關(guān)的數(shù)據(jù),也可以存儲(chǔ)不相關(guān)的數(shù)據(jù)。2.3.2MicrosoftSQLServer7.0中常用的兩個(gè)管理工具:1.企業(yè)管理器(EnterpriseManager):用于管理網(wǎng)絡(luò)、計(jì)算機(jī)、服務(wù)和其他系統(tǒng)組件的管理工具。可用它來完成很多操作,其中比較主要的是創(chuàng)建和管理數(shù)據(jù)庫對(duì)象(如表、視圖、存儲(chǔ)過程、索引等)。企業(yè)管理器提供一個(gè)圖示化的界面,有許多對(duì)話框,可以用來執(zhí)行多種任務(wù),如設(shè)置服務(wù)器配置選項(xiàng)、管理用戶登陸帳戶和數(shù)據(jù)庫用戶、創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)庫對(duì)象等。在本項(xiàng)目中,主要是用于管理和直接查詢數(shù)據(jù)。2.查詢分析器(QueryAnlyzer):可以在查詢分析器中交互式地輸入和執(zhí)行各種SQL語句并查看結(jié)果。既可以通過圖形界面來執(zhí)行多條SQL語句,也可執(zhí)行腳本文件中的部分語句,對(duì)數(shù)據(jù)庫的表實(shí)施各種操作。2.3.3編程中需要掌握的查詢語句:這里只作簡(jiǎn)單的介紹,在實(shí)際運(yùn)用中,不必全部都記得,只需知道幾個(gè)關(guān)鍵的、常用的語句,對(duì)SQL語句由初步的概念,在確定要完成的功能以后,再查書??梢酝ㄟ^不同的語句實(shí)現(xiàn)相同的功能,對(duì)于不同的表格的操作可以多想想實(shí)現(xiàn)的方法。1.SELECT語句:SELECT語句是最經(jīng)常使用的SQL語句。它的作用是把數(shù)據(jù)庫表中的數(shù)據(jù)檢索出來,以便我們?yōu)g覽和使用。就使用SELECT語句而言,既可以說簡(jiǎn)單,也可以說復(fù)雜。復(fù)雜是因?yàn)镾ELECT語句中可以帶有許多子句,完成很復(fù)雜的操作;簡(jiǎn)單是因?yàn)樵赟ELECT語句中經(jīng)常使用的關(guān)鍵字有三個(gè),即SELECT關(guān)鍵字、FROM關(guān)鍵字和WHERE關(guān)鍵字。SELECT關(guān)鍵字用于從數(shù)據(jù)庫中檢索數(shù)據(jù),F(xiàn)ORM關(guān)鍵字用于子定要檢索的表名,WHERE關(guān)鍵字用于指定檢索的條件。具體用法可以參考書本。2.CONVERT語句:CONVERT用于實(shí)行數(shù)據(jù)的強(qiáng)制轉(zhuǎn)換,把表達(dá)式從一種數(shù)據(jù)類型轉(zhuǎn)變成另外一種數(shù)據(jù)類型,還允許把日期轉(zhuǎn)變成不同的樣式。在四類表中,都需要用CONVERT語句實(shí)現(xiàn)對(duì)日期的轉(zhuǎn)換,來對(duì)數(shù)據(jù)庫的表進(jìn)行查詢和排序。3.GROUPBY語句:用于匯總數(shù)據(jù), GROUPBY子句把數(shù)據(jù)組織起來分成組。在四類表中,GROUPBY子句根據(jù)表中的某一列進(jìn)行分組,并且使用合計(jì)函數(shù),對(duì)每一個(gè)組只能產(chǎn)生一個(gè)單個(gè)值。4.連接查詢:連接查詢可以允許同時(shí)從兩個(gè)表或者兩個(gè)以上表中檢索數(shù)據(jù),指定這些表中的某個(gè)或者某些列作為連接條件。這里使用OUTERJOIN關(guān)鍵字,結(jié)果集中既包含那些滿足條件的行,還包括其中某個(gè)表的全部行。5.子查詢:SELECT語句可以嵌套在其它許多語句中,例如SELECT、INSERT、UPDATE或者DELETE。2.4VisualSourceSafe6.0(VSS)概述在項(xiàng)目開發(fā)過程中,五人小組的隊(duì)伍里每個(gè)都有不同的任務(wù),然而根據(jù)各自的任務(wù)編寫出程序以后很難實(shí)現(xiàn)共享。每次需要參考別人的程序時(shí)都只能先復(fù)制到自己的機(jī)上,每次的更新也需要人手操作。時(shí)間長(zhǎng)了,程序數(shù)量增多,復(fù)制的次數(shù)也多,管理起來特別亂。所以有必要使用一個(gè)專門的管理系統(tǒng)。通過內(nèi)置的VisualSourceSafe版本控制系統(tǒng)可以有效地跟蹤應(yīng)用程序的不同發(fā)布,版本控制系統(tǒng)可以有效地組織與管理應(yīng)用程序組件的變化情況。通過它,可以減少覆蓋其他編程者所做的工作危險(xiǎn)。不管工程的文件形式是什么,通過保存它們?cè)谝粋€(gè)數(shù)據(jù)庫中,VSS可以幫助我們管理整個(gè)工程。我們可以很快地、有效地共享所有的文件。當(dāng)我們把新做好的文件加入到VSS中,文件就會(huì)備份到數(shù)據(jù)庫中,項(xiàng)目的其他成員就可以馬上地看到。而且任何成員對(duì)文件作了新的修改都會(huì)覆蓋舊的版本并保存起來,同時(shí)舊的版本也會(huì)當(dāng)作歷史記錄下來,以便恢復(fù)。2.5本章小結(jié)本章主要從整體上介紹了數(shù)據(jù)訪問的三層結(jié)構(gòu)。并且從特點(diǎn)及實(shí)際應(yīng)用中出現(xiàn)的問題入手,簡(jiǎn)略地介紹了項(xiàng)目中用到的三個(gè)比較重要的工具VisualBasic6.0、MicrosoftSQLServer7.0、VisualSourceSafe6.0。上層用戶端上層用戶端頁面的顯示主要是滿足用戶的需求,如:盡量簡(jiǎn)化用戶進(jìn)行數(shù)據(jù)錄入的操作,使用戶對(duì)數(shù)據(jù)查找更加方便等。由于具體每個(gè)表格都各有特點(diǎn)、要求,因此出考慮上述的四類表外,還必須針對(duì)具體情況對(duì)程序作局部修改。這樣需要對(duì)程序的總體結(jié)構(gòu)有所了解,然后逐步修改,不斷完善頁面的顯示及表格功能。3.1VB的窗體模塊(文件擴(kuò)展名為.Frm)窗體模塊是VisualBasic應(yīng)用程序的基礎(chǔ),程序的修改基本從窗體模塊開始。窗體模塊可以包含處理事件的過程、通用過程以及變量、常數(shù)、類型和外部過程的說明。如果要在文本編輯器中觀察窗體模塊,則可看到窗體及其控件的描述,包括他們的屬性設(shè)置值、程序代碼等。New關(guān)鍵字或VB自動(dòng)建立所觸發(fā)的事件建立窗體Initialize嵌入內(nèi)存LoadNew關(guān)鍵字或VB自動(dòng)建立所觸發(fā)的事件建立窗體Initialize嵌入內(nèi)存Load語句Load顯示在屏幕上Show方法ResizePaint當(dāng)一個(gè)窗體要顯示在屏幕之前,必須先建立,接著被裝入內(nèi)存(Load語句),最后顯示(Show方法)在屏幕上。同樣,當(dāng)窗口要結(jié)束之前,會(huì)先從屏幕上隱藏(Hide方法),接著從內(nèi)存中(Unload方法)卸載。窗體的加載過程所觸發(fā)的事件隱藏窗體所觸發(fā)的事件隱藏窗體從內(nèi)存中刪除UnLoad語句QueryLoadUnloadTerminateHide方法3.1.2Form的程序修改所有表格的制作都需調(diào)用Form,這里以PTC元件檢驗(yàn)記錄表為例子。Form_Initialize事件當(dāng)應(yīng)用程序根據(jù)用戶在設(shè)計(jì)階段設(shè)計(jì)的窗體創(chuàng)建真正的窗體(Form類的實(shí)例)時(shí),會(huì)發(fā)生Initialize事件。在程序運(yùn)行階段,一個(gè)窗體可能多次被加載或卸載,但I(xiàn)nitialize事件只會(huì)發(fā)生一次。這里的初始化,主要是調(diào)用中間層,得到保存錄入指標(biāo)組的指標(biāo)信息數(shù)組。Form_Load事件執(zhí)行Load語句后,窗體并不顯示出來,但可以引用該窗體中的控件及各種屬性。當(dāng)VisualBasic加載Form對(duì)象時(shí),先把窗體屬性設(shè)置為初始值,在執(zhí)行Load事件過程。當(dāng)應(yīng)用程序開始運(yùn)行時(shí),VisualBasic自動(dòng)加載并顯示應(yīng)用程序的啟動(dòng)窗體。這里,由于Form對(duì)象是窗口,既上面提到的工具欄、年月日鍵、按紐、篩選鍵、目錄鍵等,都要放在Form上,Load就是下載所需控件的程序。F1Book1.ShowColHeading=False(隱藏列標(biāo))F1Book1.ShowTabs=F1TabsOff(隱藏標(biāo)簽,當(dāng)做第三類表是,由于有多頁,要顯示)ForI=1To12(對(duì)ComMonth負(fù)值,從一月到十二月)ComMonth.AddItemConvertMonth(I)&"月份"NextIForI=0To6(取得年份的顯示,其方法和月份相同,省略)ComYear.AddItem(Year(Date)-I)&"年"NextIReDimisFilter(1,cmdFilter.UBound,F1Book1.NumSheets)(isFilter()標(biāo)識(shí)按鈕篩選狀態(tài)(二維數(shù)組)(0為篩選模式,1為篩選內(nèi)容)。第一類表只有一頁,所以F1Book1.NumSheets=1。CmdFilter一共設(shè)有55個(gè),即最多可以使55列都有篩選下拉菜單,當(dāng)不需要那么多列的時(shí)候可以不顯示。所以cmdFilter.Ubound=55)ForI=1ToF1Book1.NumSheets(為每一列設(shè)置篩選下拉菜單)ForJ=1TocmdFilter.UBoundisFilter(0,J,I)=AllDataNextJNextIReDimVisibleFilter(F1Book1.NumSheets)(篩選下拉菜單在第一頁可見)VisibleFilter(1)=True(cmdFilter_Click的作用:ListBox屬性中填加項(xiàng)目,在沒有記錄的時(shí)候顯示"(全部)"和"(自定義...)",當(dāng)有記錄是從第一行統(tǒng)計(jì)到最后一行,不同的就繼續(xù)填加項(xiàng)目,相同的不填加。然后設(shè)置ListBox的大小和位置。當(dāng)點(diǎn)擊ListBox里面的行是則觸發(fā)List1_MouseUp,根據(jù)所選行的提示,從新排列F1Book1的行,并從新顯示篩選內(nèi)容。這里不作詳細(xì)介紹)ReDimFixRow(1):ReDimFixCol(1)(設(shè)置F1BOOK的fixRow和FixCol的默認(rèn)值,重新定義數(shù)組FixRow,FixCol的維數(shù))FixRow(1)=3:FixCol(1)=0(根據(jù)具體表格的需要改寫)CallF1InitializeWidth(初始化F1Book1的寬度,省略)Mnu_Edit_Input(0).Enabled=Notm_ReadOnlyToolbar1.Buttons("new").Enabled=Notm_ReadOnly“新增”Mnu_Edit_Input(1).Enabled=Notm_ReadOnly:Toolbar1.Buttons("delete").Enabled=True“刪除”Mnu_Edit_Input(2).Enabled=Notm_ReadOnly:Toolbar1.Buttons("save").Enabled=Notm_ReadOnly“保存”(設(shè)置工具欄和菜單欄的“新增”、“刪除”、“保存”,True為可用,F(xiàn)alse為不可用,后面會(huì)對(duì)工具欄和菜單欄作介紹)ComMonth_Click(觸發(fā)ComMonth_Click事件)(調(diào)用ComMonth_Click()事件,用于取得當(dāng)前月份的顯示。該事件里調(diào)用到取得記錄的程序,是數(shù)據(jù)的存取開始點(diǎn),將在第四章作詳細(xì)介紹。)Form_Resize()(設(shè)置Form的大小,位置等,這里一般不需要改動(dòng),省略)3.2函數(shù)MsgBoxMsgBox的功能是在對(duì)話框中顯示信息,等待用戶單擊按鈕,并返回一個(gè)整數(shù)告訴系統(tǒng)用戶單擊的是哪一個(gè)按鈕。MsgBox過程與MsgBox函數(shù)的功能相同,但它沒有返回值。常常僅用于顯示某些信息,而不作程序流程的選擇控制。過程使用形式:MsgBox<提示信息>[,<對(duì)話框樣式>][,<標(biāo)題>].這里有五個(gè)地方需要用到:1.GetData:用于提示表中數(shù)據(jù)“不能為空或零,請(qǐng)輸入”2.DeleteRecord:中“不能刪除記錄”、“確實(shí)要?jiǎng)h除記錄嗎?按‘是’刪除記錄,‘否’則退出操作”3.SaveRecord:“保存失敗”4.F1Book1_EndEdit:在編輯完的單元格,進(jìn)行數(shù)據(jù)確認(rèn)“含有字符型數(shù)據(jù),請(qǐng)輸入數(shù)值”5.Form_QueryUnload:在關(guān)閉一個(gè)應(yīng)用程序之前,用來確保包含在該應(yīng)用程序的窗體中沒有未完成的任務(wù),提示“數(shù)據(jù)還未保存,確實(shí)要退出嗎?”下面以退出是提示保存數(shù)據(jù)為例子:IfMsgBox("數(shù)據(jù)還未保存,"&vbCrLf&"確實(shí)要退出嗎?",vbYesNo+vbQuestion,"提示")=vbNoThenCancel=TrueExitSubEndIf其中:VbYesNo:顯示Yes(是)及No(否)按鈕VbQuestion:顯示W(wǎng)arningQuery圖標(biāo)當(dāng)用戶單擊“否”,程序就結(jié)束,單擊“是”或直接按回車鍵,程序則繼續(xù)向下執(zhí)行。3.3ActiveX控件3.3.1ActiveX控件的概述ActiveX控件是一個(gè)提供特定功能的二進(jìn)制對(duì)象,可以被加入到客戶/服務(wù)器應(yīng)用程序、Web應(yīng)用程序的Web頁中。這里用VB創(chuàng)建ActiveX控件。ActiveX控件的使用方法和標(biāo)準(zhǔn)控件一樣,但首先應(yīng)把需要使用的ActiveX控件添加到工具箱中。ActiveX控件文件的類型名為.OCX,ActiveX控件先被安裝和注冊(cè)在\Windows\System或System32目錄下。執(zhí)行“工程”(Projet)菜單中的“部件”(Components)命令,打開“部件”對(duì)話框,該對(duì)話框中列出當(dāng)前系統(tǒng)中所有注冊(cè)過的ActiveX控件、可插入對(duì)象和ActiveX設(shè)計(jì)器。3.3.2幾個(gè)重要控件的介紹及相關(guān)程序修改所有類型的表格制作都需調(diào)用,這里以PTC元件檢驗(yàn)記錄表為例子。各種類型特別用到的將在后面介紹??傮w設(shè)置所需的控件如下圖:PTC元件檢驗(yàn)記錄表所用控件1.ProcessBar控件ProcessBar控件位于MicrosoftWindowsCommonControls6.0部件中。其添加到工具箱后的圖標(biāo)如下圖:ProcessBar控件常用于監(jiān)視一個(gè)較長(zhǎng)操作完成的進(jìn)度,它通過從左到右用一些方塊填充矩形的形式來表達(dá)操作處理的進(jìn)度??梢酝ㄟ^Min和Max屬性設(shè)置應(yīng)用程序完成整個(gè)操作的持續(xù)時(shí)間,通過Value屬性指明應(yīng)用程序在完成操作過程時(shí)的進(jìn)度.ProcessBar控件的Height屬性和Width屬性確定填充控件的方塊的數(shù)量和大小。方塊數(shù)量越多,就越能精確地描述操作進(jìn)度,可通過減少ProcessBar控件的的Height屬性或者增加其Width屬性來增加顯示方塊的數(shù)量。2.ToolBar控件工具欄提供對(duì)于應(yīng)用程序中最常用的菜單命令的快速訪問。這里作介紹主要是因?yàn)椤氨4妗?、“新增”、“刪除”程序都從ToolBar_click事件開始,通過ToolBar再用Shift+F2很容易找到相應(yīng)的程序。使用ToolBar控件來創(chuàng)建工具欄步驟:把ToolBar控件添加到工具箱。ToolBar控件不是常用控件,使用前需先添加到工具箱。在ToolBar控件中添加按鈕、圖標(biāo)。工具欄的設(shè)置如下圖:ToolBar控件的ButtonClick()事件編寫程序。要為工具欄中的按鈕添加代碼,可以為ToolBar控件編寫B(tài)uttonClick()事件程序,并在程序中通過判斷“Button.Index”或者“Button.Key”屬性值來判斷單擊了哪個(gè)按鈕,通過SelectCase結(jié)構(gòu)來運(yùn)行相應(yīng)的程序。這里用“Button.Key”屬性值來判斷,部分需要用到的程序如下:PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)IfF1Book1.Sheet<>1ThenExitSubSelectCaseButton.KeyCase"print":Mnu_File_Print_Click“打印表格”Case"exit":Mnu_File_Exit_Click“對(duì)出頁面”Case"new":NewRecord“新增記錄“Case"delete":DeleteRecord“刪除選中的且可刪除的行”Case"save":SaveRecord“保存記錄”EndSelectEndSub●當(dāng)在頁面上按下“新增”按鈕則調(diào)用Toolbar1_ButtonClick的NewRecordPrivateSubNewRecord()(“新增”記錄只是改變了界面上的顯示,實(shí)際上沒有與數(shù)據(jù)庫進(jìn)行交互)DimsTimeAsStringDimNewTimeAsStringDimisNewAsBooleanScreen.MousePointer=vbHourglass(鼠標(biāo)指針常數(shù):沙漏形狀,表示等待)WithF1Book1If.MaxRow<=FixRow(.Sheet)ThenEndIf(如果最大一行不大于固定的行,則退出新增行).InsertRange.MaxRow+1,1,.MaxRow+1,1,F1ShiftRows(插入一個(gè)范圍,本例的要求是插如一新行,所以是讓最大行加一。F1ShiftRows是插入類型,表示把新增的行顯示在F1Book1上).MaxRow=.MaxRow+1(最大行要加一).TextRC(.MaxRow,1)=Format(sTime,"yyyy-m-d")(表格的第一列自動(dòng)顯示當(dāng)天日期)EndWithCallSetBackColor設(shè)置背景色CallF1AutoSize(F1Book1)設(shè)置FormularOne的大小和位置CallFilterCount設(shè)置下拉菜單(由于新增了行,所以背景色,F(xiàn)1Book1的大小位置,篩選下拉菜單都要從新設(shè)置,具體過程省略)InputMode="New"LabTitle.Caption="已新增記錄,尚未保存"(在ToolBar上要顯示"已新增記錄,尚未保存",在用戶輸入新數(shù)據(jù)后,按下“保存”才真正把數(shù)據(jù)存入到數(shù)據(jù)庫中)Screen.MousePointer=vbDefault(返回或設(shè)置一個(gè)值,該值指示在運(yùn)行時(shí)當(dāng)鼠標(biāo)移動(dòng)到對(duì)象的一個(gè)特定部分時(shí),被顯示的鼠標(biāo)指針的類型。VbDefault:缺省值)F1Book1.SetActiveCellF1Book1.MaxRow,2(由于第一列是自動(dòng)填入當(dāng)天日期,所以改動(dòng)比較少,甚至在Form_Load里就已經(jīng)把第一列設(shè)置為固定列,不允許改動(dòng),所以新增行后直接把活動(dòng)單元格設(shè)置到第二個(gè)格。)F1Book1.ShowActiveCellF1Book1.SetFocusEndSub●當(dāng)在頁面上按下“刪除”按鈕則調(diào)用Toolbar1_ButtonClick的DeleteRecordPrivateSubDeleteRecord()(刪除數(shù)據(jù)只是把所選擇的行刪除,還沒有保存到數(shù)據(jù)庫里面)DimisDeleteAsBooleanDimintDelete%WithF1Book1IfNot(.Row>FixRow(.Sheet))ThenMsgBox"不能刪除該記錄",vbExclamation,"系統(tǒng)提示"(MsgBox的作用:在對(duì)話框中顯示消息,等待用戶單擊按鈕,并返回一個(gè)Integer告訴用戶單擊哪一個(gè)按鈕。"不能刪除該記錄":作為顯示在對(duì)話框中的消息。vbExclamation,:顯示W(wǎng)arningMessage圖標(biāo)。"系統(tǒng)提示":在對(duì)話框標(biāo)題欄中顯示的字符串表達(dá)式。下面的用法相同,只是表示不一樣而已)ExitSubEndIfintDelete=.SelEndRow-.SelStartRow+1IfMsgBox("確實(shí)要?jiǎng)h除記錄嗎?按“是”刪除該記錄,“否”則退出操作",vbExclamation+vbYesNo,"刪除")=vbNoThenExitSub.DeleteRange.SelStartRow,1,.SelEndRow,1,F1ShiftRows.MaxRow=.MaxRow-intDeleteIf.MaxRow<=FixRow(.Sheet)Then.TopRow=1(刪除所選的一行或者是幾行,最大行要做調(diào)整,如果選擇行的時(shí)候連固定行也選上了,就要保留固定行,最大行設(shè)為第一行)EndWithSetBackColorInputMode="Delete"LabTitle.Caption="已刪除記錄,尚未保存"CallFilterCount(需要從新設(shè)置的地方和“新增”記錄相同,只是在ToolBar上顯示的提示語句不同。)EndSub3.月份ComMonth控件ComMonth_Click():包括取得當(dāng)月的開始和結(jié)束日期。(在第三類表的設(shè)置里會(huì)講到)F1Book1.TextRC(2,ChrToInt("D"))=Mid(ComYear.Text,1,4)&"年"&(ComMonth.ListIndex+1)&"月"(添加表頭的年月顯示。ChrToInt("D"):由于在F1Book1中的列是用英文表示,所以要把chart類轉(zhuǎn)換成integer類,D對(duì)應(yīng)的是第四列)SetrstData=Objcls.GetParentRecord(InputInds,sTime,IndTime)(取得父記錄,在數(shù)據(jù)庫交互中將作詳細(xì)的介紹)SetrstStruct=NothingGetRstStructrstData,rstStruct(復(fù)制RECORDSET結(jié)構(gòu),在數(shù)據(jù)庫交互中將作詳細(xì)的介紹)CallFullData(從數(shù)據(jù)庫中取得數(shù)據(jù)后,通過FullData填充數(shù)據(jù)到F1Book1的表格上)EndSub4.FormularOne6.0控件FormularOne6.0控件是由Tidestone公司開發(fā)的一個(gè)ActiveX控件,提供了一個(gè)高性能的工作簿控件。數(shù)據(jù)的顯示、用戶對(duì)速據(jù)的操作等都將在FormularOne6.0控件內(nèi)顯示。選中FormularOne6.0,右鍵選擇WorkbookDesigner則可以對(duì)進(jìn)行其頁面的設(shè)計(jì),如下圖:PTC元件檢驗(yàn)記錄表的頁面設(shè)計(jì)以下有幾個(gè)比較重要的事件,工具不同表格的要求作修改:(1)F1Book1_SelChange()事件當(dāng)前單元格改變?cè)谕豁摰慕缑娌?/p>

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論