版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 第一章 前言1</b></p><p> 第二章 可行性分析2</p><p> 第三章 需求分析4</p><p> 第四章 概要設(shè)計(jì)6</p><p> 第五章 數(shù)據(jù)庫設(shè)計(jì)7&l
2、t;/p><p> 第六章 界面設(shè)計(jì)11</p><p><b> 總結(jié)與體會18</b></p><p><b> 參考文獻(xiàn):19</b></p><p> 附錄:部分源程序代碼20</p><p><b> 第一章 前言</b><
3、/p><p> 隨著清潔能源的發(fā)展,天然氣越來越受人們的歡迎,因此,使用天然氣的用戶不多增多。以前的,在天然氣使用用戶少的情況下,每月去用戶家讀表也是一種非常經(jīng)濟(jì)并且實(shí)效的方式!然而,伴隨著燃?xì)馐褂玫挠脩粼鲩L,利用職工上門讀表已經(jīng)是一種不且和實(shí)際的做法!因?yàn)檫@樣不僅,需要更多的資金,和勞動力,并且利用手工記錄數(shù)據(jù)還有一定程度的不安全性,還有一定的復(fù)雜性!</p><p> 由于人工管理帶來
4、的諸多不利因素,建立燃?xì)夤芾硐到y(tǒng)也是一種必然的趨勢,下面給介紹燃?xì)夤芾硐到y(tǒng)的優(yōu)點(diǎn)和實(shí)現(xiàn)方法!首先,燃?xì)夤芾硐到y(tǒng)充分利用了現(xiàn)代的高科技計(jì)算機(jī)技術(shù),充分地解放了勞動力,避免造成了勞動力資源的浪費(fèi)!并且利用計(jì)算機(jī)技術(shù)減少了很多人為的錯誤,實(shí)現(xiàn)了燃?xì)馐褂玫木_管理!其次,也充分即利用了現(xiàn)在的gps技術(shù),通過一個gsm貓來獲取數(shù)據(jù),就是把燃?xì)庥昧繖z測設(shè)備集成到gsm貓中,然后一段形式發(fā)給安裝在數(shù)據(jù)庫上的另一個gsm貓,然后讓管理人員吧他讀到數(shù)據(jù)庫
5、中!同時它也實(shí)現(xiàn)了遠(yuǎn)程控制功能,比如說有一個用戶欠費(fèi)了,這樣就可以通過gsm貓遠(yuǎn)程控制開關(guān)把供氣閥門關(guān)上,一提醒用戶能夠及時交上拖欠的費(fèi)用!</p><p> 還有個優(yōu)點(diǎn)就是當(dāng)新用戶登記完之后,還可以通過遠(yuǎn)程控制為的燃?xì)獗硐掳l(fā)一個表ID,來表示他的表??傊?,燃?xì)夤芾硐到y(tǒng)就是為了提高燃?xì)夤?yīng)公司的管理水平,這樣不但解放了勞動力,同時也能提高管理者的薪金待遇!</p><p> 通過以上所
6、述,相信大家對燃?xì)夤芾硐到y(tǒng)有一個全新的認(rèn)識!</p><p> 本小組開發(fā)的《燃?xì)夤芾硐到y(tǒng)》主要任務(wù)是:</p><p> 1.完成各種數(shù)據(jù)的順利插入;</p><p> 2.可以把查詢表的信息打印出來;</p><p> 3.可以把各各信息表的信息導(dǎo)入到excel中;</p><p><b> 4
7、.自動讀表功能。</b></p><p><b> 第二章 可行性分析</b></p><p><b> 技術(shù)可行性:</b></p><p> 由于本系統(tǒng)管理的對象單一,且每個數(shù)據(jù)內(nèi)容具有較強(qiáng)的關(guān)聯(lián)性,涉及的計(jì)算過程不是很復(fù)雜。因此,比較適合于采用數(shù)據(jù)庫管理。且學(xué)校用于學(xué)生管理的微機(jī)都是PIII以上的機(jī)
8、器,在存儲量、速度方面都能滿足數(shù)據(jù)庫運(yùn)行的要求。在技術(shù)難度方面完全可以實(shí)現(xiàn)。 </p><p> 本系統(tǒng)的設(shè)計(jì)是在Windows XP中文版操作系統(tǒng)環(huán)境下,使用VB.NET中文版開發(fā)成功的。Sql是數(shù)據(jù)庫中的重要支持技術(shù),目前,數(shù)據(jù)庫產(chǎn)品較多,每種產(chǎn)品都具有各自的特點(diǎn)和適用范圍,因此,在選擇數(shù)據(jù)庫時,應(yīng)考慮數(shù)據(jù)庫應(yīng)用的特點(diǎn)及適用范圍,本系統(tǒng)選用的數(shù)據(jù)庫語言介紹如下:VB.NET是一種可視化的、面對對象和條用事件
9、驅(qū)動方式的結(jié)構(gòu)化高級程序設(shè)計(jì),可用于開發(fā)Windows環(huán)境下的種類應(yīng)用程序。它簡單易學(xué)、效率高,且功能強(qiáng)大。在VB.NET環(huán)境下,利用事件驅(qū)動的編程機(jī)制、新穎易用的可視化設(shè)計(jì)工具。Sql數(shù)據(jù)庫是MICROSOFT推出的OFFICE系列辦公室自動化軟件中的用于數(shù)據(jù)庫管理系統(tǒng).它是一個中,小型的數(shù)據(jù)庫管理系統(tǒng),提供了與其它數(shù)據(jù)庫管理軟件包的良好接口,能方便識別DBASE,FOXBASE,FOXPRO,PARADOX等數(shù)據(jù)庫管理系統(tǒng)生成的數(shù)據(jù)
10、庫文件.它的最大優(yōu)點(diǎn)就是方便易用,操作方便、使用簡單。</p><p><b> 2.經(jīng)濟(jì)可行性:</b></p><p> 對于一個燃?xì)夤緛碚f,需要這樣一個軟件,為他們提供一個更有效率的工作,這樣更有利于他們的發(fā)展。隨著信息時代的來臨,我們的各項(xiàng)工作都要講求效率,這就為我的軟件提供了使用群體。本系統(tǒng)大約有一千余行代碼,開發(fā)周期歷時半個月,成本費(fèi)用在一萬五千左右
11、,而燃?xì)夤久抗蛡蛞粋€員工一年的費(fèi)用在一萬元左右,也就是說軟件的成本費(fèi)用與一個員工一年的工資相當(dāng),軟件的生命周期是三年到五年,并且軟件的可操作性強(qiáng)對操作員做簡單的培訓(xùn)即可,無須投入培訓(xùn)費(fèi)用。是一個投入資金少,收益快,節(jié)省人力資源的項(xiàng)目。</p><p><b> 3.操作可行性:</b></p><p> 本系統(tǒng)可以運(yùn)行在Windows95/98/2000/XP等
12、操作系統(tǒng)上,一般系統(tǒng)都可以運(yùn)行而且安裝也非常的簡單,一看即懂,方便大家使用,即使不具備一定電腦知識的人也可以熟練掌握.軟件的集成度高,數(shù)據(jù)庫簡單只要安裝了sql2000即可運(yùn)行,系統(tǒng)是基于人性化設(shè)計(jì)的,界面友好,無須專業(yè)人員即可操作。 </p><p><b> 第三章 需求分析</b></p><p> 主要功能:本系統(tǒng)主要用于燃?xì)夤芾硐到y(tǒng),采用面向?qū)ο蟮脑O(shè)計(jì)思
13、想,以菜單和表單的形式進(jìn)行各表單的調(diào)用,其系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基礎(chǔ)上完成的</p><p><b> 1.需求分析任務(wù):</b></p><p> ?、?由于操作人員的計(jì)算機(jī)知識普遍不高,要求有良好的人機(jī)界面; </p><p> ?、?由于該系統(tǒng)的使用對象多,要求有較好的權(quán)限管理; </p><p
14、> ⑶ 原始數(shù)據(jù)修改簡單方便,支持多條件修改 </p><p> ?、?方便的數(shù)據(jù)查詢,支持多條件查詢; </p><p> ?、?在相應(yīng)的權(quán)限下,刪除數(shù)據(jù)方便簡單,數(shù)據(jù)穩(wěn)定性好; </p><p> ⑹ 數(shù)據(jù)計(jì)算自動完成,盡量減少人工干預(yù);</p><p> 因此,本系統(tǒng)應(yīng)該主要完成和實(shí)現(xiàn)如下功能:</p&
15、gt;<p><b> 初始化系統(tǒng)數(shù)據(jù);</b></p><p> 用戶登記、用戶換表登記、用戶變更登記,用戶維修登記</p><p><b> 用戶信息查詢</b></p><p><b> 給用戶發(fā)送郵件</b></p><p><b>
16、從串口讀數(shù)據(jù)</b></p><p> 用戶信息導(dǎo)入到excel中</p><p><b> 讀表功能</b></p><p><b> 打印用戶信息。</b></p><p> 用戶信息信息: 在該項(xiàng)內(nèi)容中將包括的數(shù)據(jù)庫項(xiàng)有用戶姓名、住址、表ID、表型號、開戶時間、開戶始用氣量
17、、已用總氣量、剩余燃?xì)饬俊⑧]箱。</p><p> 表基本設(shè)定:通過該模塊可以控制燃?xì)忾_關(guān)閥、獲取用戶的當(dāng)日用氣量、給表分配表ID。</p><p> 燃?xì)鈪R總: 通過使用燃?xì)夤芾硐到y(tǒng),可以方便對使用燃?xì)獾牡胤綄θ細(xì)馐褂玫墓芾?,并且可以?shí)現(xiàn)瀏覽和打印等功能。</p><p><b> 程序流程圖:</b></p><p
18、> 圖1系統(tǒng)運(yùn)行步驟流程</p><p><b> 第四章 概要設(shè)計(jì)</b></p><p> 燃?xì)夤芾硐到y(tǒng)始針對燃?xì)夤?yīng)公司專門開發(fā)的一款用戶信息管理軟件。它主要針對現(xiàn)有燃?xì)庀到y(tǒng)管理系統(tǒng)的弊端進(jìn)行了優(yōu)化和系統(tǒng)改造!先說一下以前的燃?xì)夤芾硐到y(tǒng),它采用的是有線管理系統(tǒng),就是計(jì)算機(jī)通過線路來管理燃?xì)獗碇械臄?shù)據(jù),這一點(diǎn)在設(shè)計(jì)大樓時,也要把布線考慮進(jìn)去,增加了設(shè)
19、計(jì)的難度!因此,改進(jìn)之處就是把有線改成無線就能解決這個問題。 </p><p> 我們所設(shè)計(jì)的燃?xì)夤芾硐到y(tǒng),通過把用戶、維修人員、燃?xì)鉁y量表、以及變更人員通過他們的聯(lián)系結(jié)合在一起,組成統(tǒng)一的數(shù)據(jù)源。這樣便于管理員操作</p><p> 在燃?xì)夤芾硐到y(tǒng)中,為了方便燃?xì)庀到y(tǒng)管理員的操作,我們在數(shù)據(jù)庫設(shè)計(jì)的時候建立了五個表,分別是:用戶用氣量信息表、用戶信息表、</p>&
20、lt;p> 用戶變更信息表、用戶換表信息表、用戶維修信息表。這五個表,足以把燃?xì)庥脩舻男畔⑷菁{進(jìn)去。并且,還設(shè)計(jì)出許多個性化的界面,下面這些界面將給一一介紹,這里不做多的介紹!</p><p> 這個燃?xì)夤芾硐到y(tǒng)還有很大的提升空間,比如說他的無線遠(yuǎn)程管理功能,如果做得好的話他也可以推廣的別管理平臺,比如說電力管理平臺,可以結(jié)束人工抄表的時代。這個系統(tǒng)也有推廣的價(jià)值,不僅可以節(jié)省燃?xì)夤芾砉镜墓芾碣M(fèi)用,還
21、可以避免建設(shè)大樓時,增加的布線難度!并且也充分地利用了現(xiàn)代科技!</p><p> 盡管這個系統(tǒng)是非常先進(jìn)的,但是也有很多不足之處,比如界面不太美觀,有些功能也不夠完善!我相信,通過我們的后期努力一定會使這些不完善的更加完善!</p><p><b> 第五章 數(shù)據(jù)庫設(shè)計(jì)</b></p><p><b> ER模型:</b
22、></p><p><b> 功能結(jié)構(gòu)圖:</b></p><p><b> 圖2燃?xì)夤芾硐到y(tǒng)</b></p><p> 下面列出幾個主要的數(shù)據(jù)庫表設(shè)計(jì):</p><p><b> 1用戶信息表:</b></p><p> 2用戶用氣量信
23、息表:</p><p><b> 3用戶換表信息表:</b></p><p><b> 4用戶變更信息表:</b></p><p><b> 5用戶維修信息表:</b></p><p><b> 第六章 界面設(shè)計(jì)</b></p>&l
24、t;p><b> 登陸窗口如下所示:</b></p><p> 若輸入的密碼不符合,即彈出對話框,提示該用戶無法進(jìn)入系統(tǒng)。</p><p><b> 主界面</b></p><p> 單擊主界面上的各個按鈕,可以進(jìn)入相應(yīng)的界面中。</p><p> 單擊菜單欄中的菜單,可以彈出下拉菜
25、單。</p><p> 單戶讀表。就是每一天的用氣量需要更新,所以需要讀表</p><p> 集中度表,就是一個地方的一起更新每一天的數(shù)據(jù)</p><p> 下發(fā)表ID,就是給每一個用戶的表下發(fā)一個ID ,然后他們就能使用了!</p><p> 遠(yuǎn)程開關(guān)閥,當(dāng)用戶欠費(fèi)是,就利用這個切斷燃?xì)夤?yīng)開關(guān),停止對他的供氣</p>
26、<p><b> 用戶信息查詢</b></p><p><b> 用戶用氣量查詢</b></p><p><b> 用戶維修查詢</b></p><p><b> 用戶換表查詢</b></p><p><b> 用戶變更查詢
27、</b></p><p><b> 用戶開戶登記</b></p><p><b> 用戶變更登記</b></p><p><b> 用戶換表登記</b></p><p><b> 用戶維修信息打印</b></p><
28、p><b> 用戶換表信息打印</b></p><p><b> 用戶變更信息打印</b></p><p><b> 總結(jié)與體會</b></p><p> 在燃?xì)夤芾硐到y(tǒng)的設(shè)計(jì)過程中,也曾遇到很多困難,因?yàn)檫@是一個直接面對用戶的程序,所以在燃?xì)夤芾碓O(shè)計(jì)的階段也是需要不斷的改進(jìn),盡我們最大
29、的程度去滿足用戶需求!在這個數(shù)據(jù)庫設(shè)計(jì)的初期遇到一個自動更新問題,利用上課學(xué)的知識是解決不了的.所以在這個問題上,自己不斷的查資料,不斷地克服問題最終將他妥善解決!其實(shí)遇到這樣的問題也挺多的,下面就不一一細(xì)說了!</p><p> 在做個系統(tǒng)時,有很多次自己想自己還是放棄了得了,但是,這些只是想法,最終自己堅(jiān)持下來并將它實(shí)現(xiàn).一路走路雖然不容易,而我嘗到了成功的喜悅!不管做什么事,都要堅(jiān)持到最后,要相信終會成功
30、!</p><p><b> 本人簽字:</b></p><p><b> 參考文獻(xiàn):</b></p><p> [1]王珊,薩師煊主編.數(shù)據(jù)庫系統(tǒng)概論</p><p> [2]Inmon W H.數(shù)據(jù)倉庫.王志海.北京:機(jī)械工業(yè)出版社</p><p> [3] 戴
31、軍湘,文龍編著.Visual Basic.NET程序設(shè)計(jì)基礎(chǔ)教程.清華大學(xué)出版社</p><p> [4] 石志國編著 . Visual Basic.NET實(shí)用案例教程.清華大學(xué)出版社出版,2003</p><p> 5] 林聯(lián)彬,李旭,顧青主編.Visual Basic.NET 程序設(shè)計(jì).中國鐵道出版社,2004</p><p> [6] 李萬紅主編.Vis
32、ual Basic.NET程序設(shè)計(jì)入門 . 清華大學(xué)出版社 ,2002</p><p> [7] 曹祖圣主編. Visual Basic.NET學(xué)習(xí)范本.科學(xué)出版社,2003</p><p> 附錄:部分源程序代碼</p><p><b> (1)登錄代碼:</b></p><p> If Text1.Text
33、= "abc" And Text2.Text = "123" Then</p><p> frm_主界面.Show</p><p><b> Unload Me</b></p><p><b> Else</b></p><p> If a = 3 T
34、hen</p><p> MsgBox ("你已經(jīng)用了三次機(jī)會了,只能退出")</p><p><b> Unload Me</b></p><p><b> Else</b></p><p><b> a = a + 1</b></p>
35、<p> MsgBox ("密碼不對,請重新輸入,你還有" + Str(3 - a) + "次機(jī)會")</p><p><b> End If</b></p><p><b> End If</b></p><p><b> (2)主界面代碼</
36、b></p><p> Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)</p><p> Select Case Button.Key</p><p> Case "用戶開戶登記"</p><p> frm_用戶開戶登記
37、.Show</p><p> Case "用戶變更登記"</p><p> frm_用戶信息變更登記.Show </p><p> Case "用戶用氣量查詢"</p><p> frm_用戶用氣量查詢.Show</p><p> Case "用戶維修&quo
38、t;</p><p> frm_用戶維修登記.Show</p><p> Case "遠(yuǎn)程開關(guān)閥"</p><p> frm_遠(yuǎn)程開關(guān)閥.Show</p><p> Case "集中讀表"</p><p> frm_集中讀表.Show </p><p
39、> Case "退出系統(tǒng)"</p><p><b> Dim c</b></p><p> c = MsgBox("確定要退出燃?xì)夤芾硐到y(tǒng)嗎?", 33, "燃?xì)夤芾硐到y(tǒng)")</p><p> If c = vbOK Then</p><p>&l
40、t;b> Unload Me</b></p><p><b> End</b></p><p><b> Else</b></p><p><b> End If</b></p><p> End Select</p><p>
41、;<b> End Sub</b></p><p> Private Sub 單戶讀表_Click()</p><p> frm_單戶讀表.Show</p><p><b> End Sub</b></p><p> Private Sub 關(guān)閉系統(tǒng)_Click()</p>
42、<p><b> Dim c</b></p><p> c = MsgBox("確定要退出酒店管理系統(tǒng)嗎?", 33, "酒店管理系統(tǒng)")</p><p> If c = vbOK Then</p><p><b> Unload Me</b></p>
43、<p><b> End</b></p><p><b> Else</b></p><p><b> End If</b></p><p><b> End Sub</b></p><p> Private Sub 集中讀表_Cli
44、ck()</p><p> frm_集中讀表.Show</p><p><b> End Sub</b></p><p> Private Sub 下發(fā)表ID_Click()</p><p> frm_下發(fā)表.Show</p><p><b> End Sub</b>
45、;</p><p> Private Sub 用戶變更查詢_Click()</p><p> frm_用戶變更查詢.Show</p><p><b> End Sub</b></p><p> Private Sub 用戶變更登記_Click()</p><p> frm_用戶信息變更登
46、記.Show</p><p><b> End Sub</b></p><p> Private Sub 用戶變更信息打印_Click()</p><p> Frm_用戶變更信息打印.Show</p><p><b> End Sub</b></p><p> Pr
47、ivate Sub 用戶換表登記_Click()</p><p> frm_用戶換表登記.Show</p><p><b> End Sub</b></p><p> Private Sub 用戶換表查詢_Click()</p><p> frm_用戶換表查詢.Show</p><p>&
48、lt;b> End Sub</b></p><p> Private Sub 用戶換表信息打印_Click()</p><p> frm_用戶換表信息打印.Show</p><p><b> End Sub</b></p><p> Private Sub 用戶開戶登記_Click()<
49、/p><p> frm_用戶開戶登記.Show</p><p><b> End Sub</b></p><p> Private Sub 用戶維修登記_Click()</p><p> frm_用戶維修登記.Show</p><p><b> End Sub</b>&
50、lt;/p><p> Private Sub 用戶維修查詢_Click()</p><p> frm_用戶維修查詢.Show</p><p><b> End Sub</b></p><p> Private Sub 用戶維修信息打印_Click()</p><p> frm_用戶維修信息打
51、印.Show</p><p><b> End Sub</b></p><p> Private Sub 用戶信息查詢_Click()</p><p> frm_用戶信息查詢.Show</p><p><b> End Sub</b></p><p> Privat
52、e Sub 用戶用氣量查詢_Click()</p><p> frm_用戶用氣量查詢.Show</p><p><b> End Sub</b></p><p> Private Sub 遠(yuǎn)程開關(guān)閥_Click()</p><p> frm_遠(yuǎn)程開關(guān)閥.Show</p><p><b
53、> End Sub</b></p><p><b> (3)單戶讀表</b></p><p> Private Sub Command1_Click()</p><p> Dim conn As New ADODB.Connection</p><p> Dim rs As New ADODB
54、.Recordset</p><p> Dim strSql As String</p><p> Set conn = New ADODB.Connection</p><p> conn.ConnectionString = " Provider=SQLOLEDB;Integrated Security=SSPI;Persist Security
55、 Info=False;Initial Catalog=燃?xì)夤芾硐到y(tǒng)"</p><p> conn.CommandTimeout = 0</p><p><b> conn.Open</b></p><p> strSql = "update 用戶用氣量信息表 set 已用燃?xì)饬?已用燃?xì)饬?當(dāng)日用氣量 where 用
56、戶姓名='" & Text1.Text & "' and 表ID='" & Val(Text2.Text) & "' and 住址='" & Text3.Text & "' "</p><p> conn.Execute strSql</p&
57、gt;<p> Adodc1.RecordSource = "select * from 用戶用氣量信息表"</p><p> Adodc1.Refresh</p><p> Text1.Text = "":Text2.Text = "":Text3.Text = "":Text1.SetF
58、ocus</p><p><b> End Sub</b></p><p> Private Sub Command2_Click()</p><p><b> Dim c</b></p><p> c = MsgBox("確定要退出燃?xì)夤芾硐到y(tǒng)嗎?", 33, &quo
59、t;燃?xì)夤芾硐到y(tǒng)")</p><p> If c = vbOK Then</p><p><b> Unload Me</b></p><p><b> Else</b></p><p><b> End If</b></p><p>
60、<b> End Sub</b></p><p><b> (4)集中度表</b></p><p> Dim conn As New ADODB.Connection</p><p> Dim rs As New ADODB.Recordset</p><p> Dim strSql As
61、 String</p><p> Set conn = New ADODB.Connection</p><p> conn.ConnectionString = " Provider=SQLOLEDB;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=燃?xì)夤芾硐到y(tǒng)"</p
62、><p> conn.CommandTimeout = 0</p><p><b> conn.Open</b></p><p> strSql = "update 用戶用氣量信息表 set 已用燃?xì)饬?已用燃?xì)饬?當(dāng)日用氣量 where 住址='" & Text1.Text & "
63、39; "</p><p> conn.Execute strSql</p><p> Adodc1.RecordSource = "select * from 用戶用氣量信息表"</p><p> Adodc1.Refresh</p><p> MsgBox ("集中讀表完成")&l
64、t;/p><p> Text1.Text = "":Text1.SetFocus</p><p><b> End Sub</b></p><p> Private Sub Command2_Click()</p><p><b> Dim c</b></p>
65、<p> c = MsgBox("確定要退出燃?xì)夤芾硐到y(tǒng)嗎?", 33, "燃?xì)夤芾硐到y(tǒng)")</p><p> If c = vbOK Then</p><p><b> Unload Me</b></p><p><b> (5)下發(fā)表代碼</b></p&g
66、t;<p><b> Dim c</b></p><p> c = MsgBox("確定要退出燃?xì)夤芾硐到y(tǒng)嗎?", 33, "燃?xì)夤芾硐到y(tǒng)")</p><p> If c = vbOK Then</p><p><b> Unload Me</b></p&
67、gt;<p><b> Else</b></p><p><b> End If</b></p><p><b> (6)遠(yuǎn)程開關(guān)閥</b></p><p> Dim i As Integer</p><p> For i = 1 To 2</p&
68、gt;<p> If i = 1 Then</p><p> Combo1.AddItem "開"</p><p><b> Else</b></p><p> Combo1.AddItem "關(guān)"</p><p><b> End If</
69、b></p><p><b> Next</b></p><p> Combo1.ListIndex = 開</p><p><b> (7)用戶信息查詢</b></p><p> Private Sub Command1_Click()</p><p> A
70、dodc1.RecordSource = "select * from 用戶信息表 where 用戶姓名='" & Text1.Text & "' and 住址='" & Text2.Text & "' and 表ID='" & Val(Text3.Text) & "'&q
71、uot;</p><p> Adodc1.Refresh</p><p> Text1.Text = "":Text2.Text = "":Text3.Text = "":Text1.SetFocus</p><p><b> End Sub</b></p><
72、;p> Private Sub Command2_Click()</p><p><b> Dim c</b></p><p> c = MsgBox("確定要退出燃?xì)夤芾硐到y(tǒng)嗎?", 33, "燃?xì)夤芾硐到y(tǒng)")</p><p> If c = vbOK Then</p>&l
73、t;p><b> Unload Me</b></p><p><b> Else</b></p><p><b> End If</b></p><p><b> End Sub</b></p><p> Private Sub Comma
74、nd3_Click()</p><p> Dim xlapp As Excel.Application</p><p> Dim xlbook As Excel.Workbook</p><p> Dim xlsheet As Excel.Worksheet</p><p> Adodc1.RecordSource = "s
75、elect * from 用戶信息表"</p><p> Adodc1.Refresh</p><p> Dim i, j, m, n As Integer</p><p> Set xlapp = CreateObject("Excel.Application")</p><p> Set xlbook
76、 = xlapp.Workbooks.Add</p><p> xlapp.ActiveSheet.Columns(1).ColumnWidth = 10</p><p> xlapp.Visible = True</p><p> Set xlsheet = xlbook.Worksheets(1)</p><p> m = Ado
77、dc1.Recordset.RecordCount + 1</p><p> n = Adodc1.Recordset.Fields.Count</p><p> Adodc1.Recordset.MoveFirst</p><p> xlsheet.Cells(1, 1) = "用戶姓名"</p><p> xl
78、sheet.Cells(1, 2) = "住址"</p><p> xlsheet.Cells(1, 3) = "表ID"</p><p> xlsheet.Cells(1, 4) = "表型號"</p><p> xlsheet.Cells(1, 5) = "開戶時間"</
79、p><p> xlsheet.Cells(1, 6) = "開戶始用氣量"</p><p> xlsheet.Cells(1, 7) = "已用總氣量"</p><p> xlsheet.Cells(1, 8) = "剩余燃?xì)饬?quot;</p><p> xlsheet.Cells(1
80、, 9) = "郵箱"</p><p> For i = 2 To m</p><p> For j = 1 To n</p><p> xlsheet.Cells(i, j) = Adodc1.Recordset.Fields(j - 1)</p><p><b> Next</b><
81、/p><p> Adodc1.Recordset.MoveNext</p><p><b> Next</b></p><p> Set xlapp = Nothing</p><p><b> End Sub</b></p><p> (8)用戶用氣量查詢</p
82、><p> Private Sub Command1_Click()</p><p> Adodc1.RecordSource = "select * from 用戶信息表 where 用戶姓名= '" & Text1.Text & " ' and 住址='" & Text3.Text & &
83、quot;' and 表ID='" & Val(Text2.Text) & "'"</p><p> Adodc1.Refresh</p><p> Text1.Text = "":Text2.Text = "":Text3.Text = "":Text1.
84、SetFocus</p><p><b> End Sub</b></p><p> Private Sub Command2_Click()</p><p><b> Dim c</b></p><p> c = MsgBox("確定要退出燃?xì)夤芾硐到y(tǒng)嗎?", 33,
85、"燃?xì)夤芾硐到y(tǒng)")</p><p> If c = vbOK Then</p><p><b> Unload Me</b></p><p><b> Else</b></p><p><b> End If</b></p><p
86、><b> End Sub</b></p><p> Private Sub Command3_Click()</p><p> Dim xlapp As Excel.Application</p><p> Dim xlbook As Excel.Workbook</p><p> Dim xlshee
87、t As Excel.Worksheet</p><p> Adodc1.RecordSource = "select * from 用戶用氣量信息表"</p><p> Adodc1.Refresh</p><p> Dim i, j, m, n As Integer</p><p> Set xlapp = C
88、reateObject("Excel.Application")</p><p> Set xlbook = xlapp.Workbooks.Add</p><p> xlapp.ActiveSheet.Columns(1).ColumnWidth = 10</p><p> xlapp.Visible = True</p>
89、<p> Set xlsheet = xlbook.Worksheets(1)</p><p> m = Adodc1.Recordset.RecordCount + 1 '獲取數(shù)據(jù)庫中二維表有多少行</p><p> n = Adodc1.Recordset.Fields.Count '獲取數(shù)據(jù)庫中二維表有多少列</p><p>
90、 Adodc1.Recordset.MoveFirst</p><p> xlsheet.Cells(1, 1) = "用戶姓名"</p><p> xlsheet.Cells(1, 2) = "住址"</p><p> xlsheet.Cells(1, 3) = "表ID"</p>&
91、lt;p> xlsheet.Cells(1, 4) = "已用燃?xì)饬?quot;</p><p> xlsheet.Cells(1, 5) = "當(dāng)日用氣量"</p><p> For i = 2 To m</p><p> For j = 1 To n</p><p> xlsheet.Cell
92、s(i, j) = Adodc1.Recordset.Fields(j - 1)</p><p><b> Next</b></p><p> Adodc1.Recordset.MoveNext</p><p><b> Next</b></p><p> Set xlapp = Nothi
93、ng</p><p><b> End Sub</b></p><p><b> (9)用戶換表查詢</b></p><p> Private Sub Command1_Click()</p><p> Adodc1.RecordSource = "select * from 用戶
94、換表信息表 where 用戶姓名='" & Text1.Text & "' and 住址='" & Text2.Text & "' and 表ID='" & Val(Text3.Text) & "'"</p><p> Adodc1.Refresh
95、</p><p> Text1.Text = "":Text2.Text = "":Text3.Text = ""</p><p> Text1.SetFocus</p><p><b> End Sub</b></p><p> Private Sub
96、 Command2_Click()</p><p><b> Dim c</b></p><p> c = MsgBox("確定要退出燃?xì)夤芾硐到y(tǒng)嗎?", 33, "燃?xì)夤芾硐到y(tǒng)")</p><p> If c = vbOK Then</p><p><b> U
97、nload Me</b></p><p><b> Else</b></p><p><b> End If</b></p><p><b> End Sub</b></p><p> Private Sub Command3_Click()</p&g
98、t;<p> Dim xlapp As Excel.Application</p><p> Dim xlbook As Excel.Workbook</p><p> Dim xlsheet As Excel.Worksheet</p><p> Adodc1.RecordSource = "select * from 用戶換表信息
99、表"</p><p> Adodc1.Refresh</p><p> Dim i, j, m, n As Integer</p><p> Set xlapp = CreateObject("Excel.Application")</p><p> Set xlbook = xlapp.Workbook
100、s.Add</p><p> xlapp.ActiveSheet.Columns(1).ColumnWidth = 10</p><p> xlapp.Visible = True</p><p> Set xlsheet = xlbook.Worksheets(1)</p><p> m = Adodc1.Recordset.Rec
101、ordCount + 1</p><p> n = Adodc1.Recordset.Fields.Count</p><p> Adodc1.Recordset.MoveFirst</p><p> xlsheet.Cells(1, 1) = "用戶姓名"</p><p> xlsheet.Cells(1, 2)
102、 = "住址"</p><p> xlsheet.Cells(1, 3) = "表ID"</p><p> xlsheet.Cells(1, 4) = "原表型號"</p><p> xlsheet.Cells(1, 5) = "新表型號"</p><p>
103、 xlsheet.Cells(1, 6) = "新表ID"</p><p> xlsheet.Cells(1, 7) = "換表始用氣量"</p><p> xlsheet.Cells(1, 8) = "換表時間"</p><p> xlsheet.Cells(1, 9) = "維修人員&
104、quot;</p><p> For i = 2 To m</p><p> For j = 1 To n</p><p> xlsheet.Cells(i, j) = Adodc1.Recordset.Fields(j - 1)</p><p><b> Next</b></p><p>
105、; Adodc1.Recordset.MoveNext</p><p><b> Next</b></p><p> Set xlapp = Nothing</p><p><b> End Sub</b></p><p> (10)用戶開戶登記</p><p>
106、 Private Sub Command1_Click()</p><p> Adodc1.RecordSource = "select * from 用戶信息表"</p><p> Adodc1.Recordset.AddNew</p><p> Adodc1.Recordset.Fields(0) = Text1.Text</p&
107、gt;<p> Adodc1.Recordset.Fields(1) = Text2.Text</p><p> Adodc1.Recordset.Fields(2) = Val(Text3.Text)</p><p> Adodc1.Recordset.Fields(3) = Val(Text4.Text)</p><p> Adodc1.R
108、ecordset.Fields(4) = Text5.Text</p><p> Adodc1.Recordset.Fields(5) = Val(Text6.Text)</p><p> Adodc1.Recordset.Fields(6) = Val(Text7.Text)</p><p> Adodc1.Recordset.Fields(7) = Val
109、(Text8.Text)</p><p> Adodc1.Recordset.Fields(8) = Text9.Text</p><p> Adodc1.Recordset.Update</p><p> Adodc1.RecordSource = "select * from 用戶信息表"</p><p> A
110、dodc1.Refresh</p><p> Adodc2.RecordSource = "select * from 用戶用氣量信息表"</p><p> Adodc2.Recordset.AddNew</p><p> Adodc2.Recordset.Fields(0) = Text1.Text</p><p>
111、; Adodc2.Recordset.Fields(1) = Text2.Text</p><p> Adodc2.Recordset.Fields(2) = Val(Text4.Text)</p><p> Adodc2.Recordset.Fields(3) = Val(Text6.Text)</p><p> Adodc2.Recordset.Fiel
112、ds(4) = 0</p><p> Adodc2.Recordset.Update</p><p> Adodc2.RecordSource = "select * from 用戶用氣量信息表"</p><p> Adodc2.Refresh</p><p> MsgBox ("插入成功!")
113、</p><p> Text1 = "" :Text2 = "":Text3 = "":Text4 = "" :Text6 = "":Text7 = "":Text8 = ""</p><p> Text9 = ""</
114、p><p> Text1.SetFocus</p><p><b> End Sub</b></p><p> Private Sub Command2_Click()</p><p><b> Dim c</b></p><p> c = MsgBox("確
115、定要退出燃?xì)夤芾硐到y(tǒng)嗎?", 33, "燃?xì)夤芾硐到y(tǒng)")</p><p> If c = vbOK Then</p><p> Unload Me </p><p><b> Else</b></p><p><b> End If</b></p>
116、<p><b> End Sub</b></p><p> (11)用戶換表信息打印</p><p> Private Sub Command1_Click()</p><p> CommonDialog1.ShowPrinter</p><p><b> End Sub</b>
117、;</p><p> Public Function prnt(X As Variant, Y As Variant, fnt As Variant, txt0 As Variant)</p><p> Printer.CurrentX = X</p><p> Printer.CurrentY = Y</p><p> Printe
118、r.FontSize = fnt</p><p> Printer.Print txt0</p><p> End Function</p><p> Private Sub cmdPrint_Click()</p><p> Adodc1.Recordset.MoveFirst</p><p> For i
119、 = 0 To zsl - 1</p><p> For j = 0 To 7</p><p> dy_dm(i, j) = Adodc1.Recordset(j)</p><p><b> Next j</b></p><p> Adodc1.Recordset.MoveNext</p><
120、p><b> Next i</b></p><p> k = Int(zsl / 80)</p><p> If k - zsl / 80 < 0 Then</p><p><b> k = k + 1</b></p><p><b> End If</b>
121、;</p><p><b> fnt = 5</b></p><p> For p = 0 To k - 1</p><p> pa = p + 1</p><p> Y = 0:X = 0</p><p> txt = "姓名"</p><p&g
122、t; dd = prnt(X, Y, fnt, txt)</p><p><b> X = 8500</b></p><p> txt = "第" & p + 1 & "頁"</p><p> dd = prnt(X, Y, fnt, txt)</p><p&g
123、t; Y = 500:X = 600:txt = "住址"</p><p> dd = prnt(X, Y, fnt, txt)</p><p> X = 1500:txt = "原表型號"</p><p> dd = prnt(X, Y, fnt, txt)</p><p> X = 350
124、0:txt = "新表型號"</p><p> dd = prnt(X, Y, fnt, txt)</p><p> X = 5500:txt = "新表ID"</p><p> dd = prnt(X, Y, fnt, txt)</p><p> X = 7500txt = "換表始
125、用氣量"</p><p> dd = prnt(X, Y, fnt, txt)</p><p> X = 9500:txt = "換表時間"</p><p> dd = prnt(X, Y, fnt, txt)</p><p> X = 11500:txt = "維修人員"</p
126、><p> dd = prnt(X, Y, fnt, txt)</p><p> For i = 0 + p * 80 To 79 + p * 80</p><p> Y = 700 + 180 * (i - p * 80):X = 600:txt = dy_dm(i, 1)</p><p> dd = prnt(X, Y, fnt, t
127、xt)</p><p> X = 1500:txt = dy_dm(i, 2)</p><p> dd = prnt(X, Y, fnt, txt)</p><p> X = 3500:txt = dy_dm(i, 3)</p><p> dd = prnt(X, Y, fnt, txt)</p><p>
128、X = 5500:txt = dy_dm(i, 4)</p><p> dd = prnt(X, Y, fnt, txt)</p><p> If Int(i / 10) - i / 10 = 0 Then</p><p> Printer.Line (500, 695 + (i - p * 80) * 180)-(10000, 695 + (i - p *
129、80) * 180)</p><p><b> End If</b></p><p><b> Next i</b></p><p> If zsl - p * 80 > 80 Then</p><p> Printer.Line (500, 695 + 180 * 80)-(1000
130、0, 695 + 180 * 80)</p><p> Printer.NewPage</p><p><b> End If</b></p><p><b> Next p</b></p><p> Printer.EndDoc</p><p><b>
131、 Cls</b></p><p><b> End Sub</b></p><p> Private Sub Form3_Load()</p><p> Adodc1.RecordSource = "select * from 用戶換表信息表"</p><p> Adodc1.Re
132、fresh</p><p> zsl = Adodc1.Recordset.RecordCount</p><p><b> End Sub</b></p><p> Private Sub Command2_Click()</p><p><b> Dim c</b></p>
133、<p> c = MsgBox("確定要退出燃?xì)夤芾硐到y(tǒng)嗎?", 33, "燃?xì)夤芾硐到y(tǒng)")</p><p> If c = vbOK Then</p><p><b> Unload Me</b></p><p><b> Else</b></p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 燃?xì)廨斉涔こ陶n程設(shè)計(jì)--某居民住宅樓低壓燃?xì)夤艿老到y(tǒng)設(shè)計(jì)
- 小區(qū)燃?xì)夤芫W(wǎng)系統(tǒng)設(shè)計(jì)示例
- 城市燃?xì)夤艿涝O(shè)計(jì)施工管理探討
- 淺析城市燃?xì)夤艿涝O(shè)計(jì)的管理
- 地下燃?xì)夤艿佬孤c(diǎn)監(jiān)測管理系統(tǒng)設(shè)計(jì).pdf
- 燃?xì)夤芫W(wǎng)畢業(yè)設(shè)計(jì)
- 某小區(qū)燃?xì)夤艿涝O(shè)計(jì)
- 《城鎮(zhèn)燃?xì)夤芾項(xiàng)l例》釋義
- 城鎮(zhèn)燃?xì)夤芾項(xiàng)l例釋義
- 《城鎮(zhèn)燃?xì)夤芾項(xiàng)l例》課件
- 《城市燃?xì)夤芫W(wǎng)系統(tǒng)》ppt課件
- 城鎮(zhèn)燃?xì)夤芾項(xiàng)l例釋義
- 城鎮(zhèn)燃?xì)夤芾項(xiàng)l例釋義
- 城市燃?xì)夤艿老到y(tǒng)的風(fēng)險(xiǎn)管理研究.pdf
- 城市燃?xì)夤艿涝O(shè)計(jì)施工管理問題的探討
- 城鎮(zhèn)燃?xì)夤艿澜榻B
- 燃?xì)夤艿缿?yīng)急預(yù)案
- 燃?xì)夤芫€保護(hù)方案
評論
0/150
提交評論