




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、代碼實(shí)現(xiàn)一、登錄界面此界面是由Photoshop制作而成。在做這個(gè)登錄面的時(shí)候想了很多,最后選擇了這種,感覺它看起來干凈,整齊。又不失其莊雅。加上本單位最有特色的建筑,會(huì)讓人一目了然。1.1 登錄圖片顯示圖登錄界面1.2 界面制作與實(shí)現(xiàn)在這個(gè)界面中,主要處理的是判斷當(dāng)前用戶輸入的信息是否正確。如果正確,那么它屬于哪種類型用戶。因?yàn)榇斯芾碥浖诘卿浐蟛煌愋偷挠脩麸@示的窗體與實(shí)現(xiàn)的功能都不是一樣的,它們會(huì)有所差別!(1) 浮動(dòng)按鈕的實(shí)現(xiàn)確定和取消兩個(gè)按鈕在鼠標(biāo)沒有放上去之前看上去只是一個(gè)普通的平面字效果,但是當(dāng)你把鼠標(biāo)放在這幾個(gè)字上面后,它會(huì)顯示凸出的效果,按下后呈現(xiàn)凹陷的效果??傮w實(shí)現(xiàn)立體的感
2、覺。原理主要是在鼠標(biāo)mousemove事件與線的顏色變化組合來實(shí)現(xiàn)。主要代碼如下:在窗體中的鼠標(biāo)移動(dòng)過程中,以及在窗體初始化的時(shí)候,要把添加的線的.Visible屬性設(shè)置為False,只有在鼠標(biāo)按下的時(shí)候在改變其顏色即可。PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,xAsSingle,YAsSingle)=False=False=False=False=False=False=False=FalseEndSub鼠標(biāo)按下的時(shí)候設(shè)置線條的顏色如下:PrivateSubLabel3_MouseDown(ButtonAsInteger
3、,ShiftAsInteger,xAsSingle,YAsSingle)=&H808080=&H808080=&HE0E0E0=&HE0E0E0EndSub鼠標(biāo)移動(dòng)到標(biāo)簽的時(shí)候設(shè)置線條的顏色如下:PrivateSubLabel3_MouseMove(ButtonAsInteger,ShiftAsInteger,xAsSingle,YAsSingle)=&HE0E0E0=&HE0E0E0=&H808080=&H808080=True=True=True=TrueEndSub(2) 用戶類型判斷在數(shù)據(jù)庫中建了一人yonghu表。在添加
4、管理人員時(shí)有兩種默認(rèn)級(jí)別。管理員、普通用戶。管理員擁有對(duì)數(shù)據(jù)庫操作的一切權(quán)限。普通用戶只有普通的查看,數(shù)據(jù)轉(zhuǎn)換等。沒有刪除等操作功能。前用戶成功登錄后,會(huì)在主窗體的狀態(tài)欄中顯示出當(dāng)前用戶及其用戶類型。主要代碼如下:設(shè)置當(dāng)前控件連接的數(shù)據(jù)庫DimproviderAsStringDimdatasourceAsStringprovider="provider="datasource="datasource="&&""WithAdodc1.Mode=adModeReadWrite.ConnectionString=provid
5、er&""&datasource.CommandType=adCmdTable.RecordSource="yonghu".RefreshEnd With對(duì)用戶進(jìn)行判斷If=""ThenMsgBox"請(qǐng)輸入用戶名匚48,"提示"ExitSubEndIf"用戶='"&&皿If=FalseAnd=Trim"pass")Then="級(jí)別”)="用戶")UnloadMeElse=""=
6、""MsgBox"登錄不成功,請(qǐng)重新登錄!”,48,"提示"EndIf程序主界面程序主界面為本軟件的顯示的核心部分。一切主要操作及顯示都通過這里完成。整個(gè)界面主要由五部分組成。菜單部分、工具欄、左側(cè)操作欄、右側(cè)顯示欄以及狀態(tài)欄。界面效果圖如下:丁生俊近鵬月敏祥V1.OL.L芾脩社再£年號(hào)對(duì)衛(wèi)生鋪里£山待產(chǎn)記恩萬蒼彳豪刪除瞪比出泵ffiJh於日格彳J直剪-.昨相7也附有在fffi轉(zhuǎn)具與2篇富Ml沈忠宇小再8£7離kT酉希生 一所*寓*寓離X鼻2£a&公號(hào)號(hào)等4號(hào)W用根才二管伸嗡學(xué)生期才可種事抗力0L
7、王飛圖程序主界面左側(cè)操作欄和右側(cè)顯示欄會(huì)在下面的內(nèi)容中做介紹,現(xiàn)在只簡(jiǎn)單介紹一下工具欄和狀態(tài)欄,以及主窗體的各個(gè)事件。它的實(shí)現(xiàn)方法如下所示:DimoAsAdodcSeto=這里主要是用到了ado對(duì)像的方法。用這個(gè)方法得到數(shù)據(jù)源。下面是整個(gè)工具欄運(yùn)行時(shí)代碼:SelectCaseCase11Case31Case5OnErrorGoTonext2DimsAsAdodcSets=If="users"Then1EndIfnext2:Case7OnErrorResumeNextDimoAsAdodcSeto=91Case11WithAdodc1.Mode=adModeReadWrite
8、.ConnectionString=provider&""&datasource.CommandType=adCmdTable.RecordSource="users"'.RefreshEndWithSet=Adodc1CalldxCase13UnloadMeEndSelect="級(jí)別")="用戶")(2) .Text="當(dāng)前用戶:"&(3) .Text="用戶模式:"&(4) .Text=Date&""&a
9、mp;Time'設(shè)置普通用戶模式If="普通用戶"Then=False=False=False=False(5) .Visible=False(6) .Visible=False(7) .Visible=False(8) .Visible=FalseEndIf=-=-750=-750=-1200=-1200=-1200=-1500=-1500=-1500Y=x=(Y-z)/4(1) .Width=u+x(2) .Width=v+x(3) .Width=w+x(4) .Width=m+xprovider="provider="datasource=
10、"datasource="&&""WithAdodc1.Mode=adModeReadWrite.ConnectionString=provider&""&datasource.CommandType=adCmdTable.RecordSource="users"'.RefreshEndWithWithAdodc2.Mode=adModeReadWrite.ConnectionString=provider&""&datasource.Co
11、mmandType=adCmdTable.RecordSource="gongyu".RefreshEndWithWithAdodc3.Mode=adModeReadWrite.ConnectionString=provider&""&datasource.CommandType=adCmdTable.RecordSource="class".RefreshEndWithWithAdodc4.Mode=adModeReadWrite.ConnectionString=provider&""&
12、amp;datasource.CommandType=adCmdTable.RecordSource="weisheng".RefreshEnd WithWithAdodc5.Mode=adModeReadWrite.ConnectionString=provider&""&datasourceEndWithWithAdodc6.Mode=adModeReadWrite.ConnectionString=provider&""&datasource.CommandType=adCmdTable.Reco
13、rdSource="dengji".RefreshEndWithWithAdodc7.Mode=adModeReadWrite.ConnectionString=provider&""&datasource.CommandType=adCmdTable.RecordSource="qinshi".RefreshEndWithWithAdodc9.Mode=adModeReadWrite.ConnectionString=provider&""&datasource.CommandTy
14、pe=adCmdTable.RecordSource="zichan".RefreshEndWithtreeview部分樹形顯示的初始化在這里已經(jīng)做了幾個(gè)過程,調(diào)用即可。三、系統(tǒng)管理3.1用戶管理界面效果圖圖用戶管理界面制作與實(shí)現(xiàn)方法這個(gè)界面總體來說各個(gè)控件比較簡(jiǎn)單,但是作為一個(gè)添加刪除管理員的操作,它已經(jīng)連接到了數(shù)據(jù)庫,與數(shù)據(jù)庫的yonghu表相聯(lián)。各個(gè)控件也與數(shù)據(jù)庫中表的字段綁定。在窗體初始化的時(shí)候要判斷當(dāng)前數(shù)據(jù)庫表中是否有記錄,如果沒有記錄那么有些按鈕將會(huì)被設(shè)置成為失效狀態(tài),否則會(huì)出現(xiàn)錯(cuò)誤。設(shè)置代碼如下:DimproviderAsStringDimdatasource
15、AsStringprovider="provider="datasource="datasource="&&""WithAdodc1.Mode=adModeReadWrite.ConnectionString=provider&""&datasource.CommandType=adCmdTable.RecordSource="yonghu".RefreshEndWith=False=FalseIf=0Then=False=False=False=FalseEnd
16、If上一條與下一條的功能一目了然,它們可以對(duì)當(dāng)前表進(jìn)行上一條記錄或下一條記錄依次查看。當(dāng)找到記錄后,可以對(duì)其進(jìn)行相對(duì)的刪除、修改等操作。上一條記錄與下一條的記錄在查看時(shí)有一個(gè)判斷。當(dāng)表中記錄移到最前面(BOH或最后面(EOF時(shí),會(huì)把上一條或下一條其中的一個(gè)按鈕的enable屬性設(shè)置為true。即不可以前查看或向后查看。上一條與下一條主要代碼如下:'移動(dòng)記錄=TrueIfThen=False移動(dòng)記錄=TrueIfThen=FalseEndIf添加用戶可以添加使用該管理軟件的用戶。添加的時(shí)候可以選擇所添加人物的級(jí)別。軟件默認(rèn)為兩個(gè)級(jí)別:管理員、普通用戶。管理員擁有對(duì)此軟件管理操作等一切的權(quán)
17、力。普通用戶,只有普通的查看、查詢、備份、添加等權(quán)力。沒有對(duì)記錄刪除等權(quán)力。在添加用戶時(shí)你可以選擇一個(gè)且必須選擇一個(gè)。然后輸入此用戶的用戶名和密碼即可!添加用戶主要代碼:If="添加"Then=False=False=False="確定"="取消"=True=True=True=True=True=""ElseIf=""ThenMsgBox"用戶名不能為空!",48,"提示"ElseIf=""ThenMsgBox"密碼不能為空
18、!",48,"提示"ElseIf<>ThenMsgBox"密碼兩次需一致!",48,"提示"ElseIf=""ThenMsgBox"請(qǐng)選擇所建用戶類型!",48,"提示"Else=True=True=True="編輯"="添加"=False=False=False=False=False=False=False=FalseEndIf刪除操作可以把當(dāng)前記錄刪除掉。一經(jīng)刪除即不可以在恢復(fù)。所以在操作前要想好。刪除操作部
19、分代碼:If=1Then=FalseEndIfIf(MsgBox("你真的想刪除當(dāng)前記錄嗎?",vbOKCancel,"系統(tǒng)提示")=vbOKThenIf編輯操作可以對(duì)當(dāng)前所選擇的用戶進(jìn)行編輯,可以修改其用戶名與密碼。當(dāng)當(dāng)前用戶感覺自己用戶名稱或密碼有泄露時(shí),可以進(jìn)行修改。修改記錄即更新表中的某一條記錄。編輯操作主要代碼如下:=False=True=True=True=True=True=True="確定"ElseIf="取消"Then="編輯"="添加"=True=True
20、= True=False=False=False=False=False=False=False=FalseEndIf3.2公寓設(shè)置公寓設(shè)置可以說是本程序中一關(guān)鍵部分。因?yàn)樗械脑O(shè)置都在此進(jìn)行。包括公寓添加、修改、刪除。寢室的添加、修改、刪除以及班級(jí)的添加、修改和刪除操作。只有正確的對(duì)這些設(shè)置進(jìn)行添加修改,才能輸入正確的記錄。這里主要涉及到的問題是datagrid的顯示,以及treeview及時(shí)形成新的結(jié)構(gòu)。還有一些就是對(duì)表記錄的復(fù)雜操作。在點(diǎn)擊sstab各版的時(shí)候,要在這時(shí)重新生成寢室設(shè)置中的樹型結(jié)構(gòu),SelectCasePreviousTabCase0Callstartree1Case1D
21、imIAsInteger1 =1If<>0ThenDoWhileI<"公寓名稱")I=I+1LoopEndIfCallstartree1Case2Callstartree1EndSelectEndSub(1) 公寓設(shè)置公寓設(shè)置效果圖一 r1公寓 王號(hào)分倬八號(hào)公苒 四號(hào)公宦 三號(hào)公寓 五導(dǎo)公寓 二號(hào)公商四班韁退宜3商或置后室超宜一善要件S施 前產(chǎn)前要停 m層中對(duì)輸人出要簫加的公鹿名林闞加|修改|珊除I退出圖公寓設(shè)置界面制作與實(shí)現(xiàn)方法在這個(gè)界面中主要用到了一個(gè)Sstab控件與一個(gè)顯示表中內(nèi)容的Datagrid控件。以及起到美觀作用的Frame控件。在右下角的文
22、本框中可以輸入想要添加的公寓名稱。然后點(diǎn)擊添加即可完成添加操作。Datagrid中會(huì)立即刷新顯示更新內(nèi)容。要修改某條記錄時(shí),要先對(duì)所要修改的記錄進(jìn)行選擇,確認(rèn)選擇后,點(diǎn)擊下面的修改按鈕,會(huì)在下面的文本中顯示出所要修改公寓的名稱,此時(shí)即可輸入要修改的名字。然后點(diǎn)擊更新就會(huì)完成此操作。Datagrid也會(huì)即時(shí)更新其內(nèi)容。刪除操作更為簡(jiǎn)單,選擇想要?jiǎng)h除的公寓名稱,點(diǎn)擊刪除,確認(rèn)后完成此操作。但是刪除后不會(huì)影響其它表中的數(shù)據(jù)。其它表的有關(guān)此公寓的信息還會(huì)存在。在進(jìn)行所有操作前,先要確定數(shù)據(jù)庫已連接。在添加前要判斷所寫公寓名稱是否正確,即是否輸入名稱,該記錄不能為空,不為空則對(duì)數(shù)據(jù)庫表進(jìn)行查找,判斷當(dāng)前
23、輸入記錄是否已在表中存在,如果已存在,則會(huì)給出提示,不存在,添加成功。"公寓名稱="&&皿If=FalseThenMsgBox"此公寓已存在"一"提示"SubEndIf""If=""ThenMsgBox"輸入所要添加公寓的名稱""提示"ExitSubEndIf添加:"公寓名稱")="gongyu"=""Set=Adodc1修改公寓名稱:If=""ThenMsgB
24、ox"選擇要修改的公寓","提示"ExitSubEndIfIf="修改"Then="輸入想要修改的公寓名稱"="更新"=False=FalseElseIf="更新"Then=True=True="輸入想要添加的公寓名稱""公寓名稱")="updateqinshiset公寓名稱='"&&"'where公寓名稱='"&Trim&"
25、9;"="修改"EndIfSet=Adodc1=Adodc5刪除公寓名稱If=""ThenMsgBox"選擇所要?jiǎng)h除公寓的名稱","提示"ExitSubEnd IfIf(MsgBox("你真的想刪除公寓名稱為"&&"的記錄嗎?",vbOKCancel,"系統(tǒng)提示")=vbOKThenIf=""Set=Adodcl(2)寢室設(shè)置公禽矍置n -騏I黑領(lǐng)翩踹公宙設(shè)置位室觀宜班朝謾置添加毒,除階錄 米,贏檔 樹+里可前
26、 ”在畫擇點(diǎn)即當(dāng)寢室設(shè)置效果圖10Q國,七號(hào)公寓611?巳八號(hào)分離-6。1Boe6UJ604四號(hào)會(huì)鹵三號(hào)公寓五號(hào)£離-二號(hào)公寓101圖寢室設(shè)置界面制作與實(shí)現(xiàn)方法此界面實(shí)現(xiàn)相對(duì)比公寓設(shè)置來說相對(duì)復(fù)雜一些。用到的控件主要是Sstab與Treeview。但是在程序方面比較復(fù)雜。在添加一個(gè)寢室前先要選擇所要添加寢室所在的公寓。這個(gè)公寓可以點(diǎn)擊下面的樹中的節(jié)點(diǎn),也可以在列表框中選擇。樹中的節(jié)點(diǎn)在點(diǎn)擊后會(huì)把父節(jié)點(diǎn)顯示在選擇公寓后面的列表框中,而選中的節(jié)點(diǎn)會(huì)出現(xiàn)在寢室名稱里。你也可以自己進(jìn)行添寫,確認(rèn)公寓后即可添加完成了。添加后會(huì)把Treeview重新刷新一下。以顯示更新后的記錄。添加源碼:&qu
27、ot;公寓名稱="&&皿If=TrueThenMsgBox"此公寓不存在"一"提示"SubIf=""Or=""ThenMsgBox"請(qǐng)輸入所要添加的寢室及其所屬公寓","提示"ExitSubEndIfWithAdodc2.(0).Value=.(1).Value=EndWith=""=""Callstartree1修改操作可以把當(dāng)前選中的寢室進(jìn)行名稱修改與其所屬公寓進(jìn)行修改。當(dāng)要對(duì)名稱進(jìn)行修改時(shí),先要選擇所要修
28、改的寢室名,選擇后會(huì)在寢室名稱里顯示出來,把當(dāng)前寢室名稱改成要修改的寢室名稱,然后點(diǎn)擊修改即完成名稱修改操作。當(dāng)要對(duì)當(dāng)前寢室的所屬公寓進(jìn)行修改時(shí),需要先選擇所要修改的寢室,然后在上面的公寓名稱后填寫所要修改的寢室名稱。點(diǎn)擊修改后完成此操作。但是這種操作不是常見。修改源碼:"公寓名稱='"&&"'"If=TrueThenMsgBox"此公寓不存在","提示SubEndIfDimsqlAsStringOnErrorResumeNextIf=""Or=""Th
29、enMsgBox"請(qǐng)?jiān)谙旅孢x擇所要修改的寢室","提示"ExitSubEndIf'sql="select*formqinshiwhere公寓名稱='"&Trim&"'and寢室='"&Trim&"'""updateqinshiset寢室='"&&"',公寓名稱='"&Trim&"'where寢室='&qu
30、ot;&Trim&"'and公寓名稱='"&Trim&"'"Callstartree1刪除操作可以刪除掉當(dāng)前樹型顯示中的任何一個(gè)子節(jié)點(diǎn),也就是這個(gè)樹型節(jié)點(diǎn)中的寢室名稱,注意的是,刪除后這個(gè)記錄只在qinshi表中刪除,其相關(guān)記錄不會(huì)被刪除掉的,如果想刪除,還需要人工操作。實(shí)現(xiàn)的方法主要是對(duì)qinshi表操作,先對(duì)其進(jìn)行查詢,查詢當(dāng)前想要被刪除的表是否存在,如果不存在,則給出提示,如果存在這條記錄,則在表中把它刪除掉,刪除后調(diào)用生成樹過程,把當(dāng)前寢室設(shè)置中的樹型結(jié)構(gòu)重新生成,更新記錄。實(shí)現(xiàn)的部分代碼如
31、下所示:If=""Or=""Or="公寓管理系統(tǒng)"ThenMsgBox"選擇所要?jiǎng)h除的寢室","提示"ExitSubEndIfIf(MsgBox("你真的想刪除"&&""&"寢室為"&&"的記錄嗎?",vbOKCancel,"系統(tǒng)提示")=vbOKThen"delete from qinshi where公寓名稱 ='" &
32、; Trim & "' and寢室 ='" & Trim & "'"IfCallstartree1在treeview點(diǎn)擊的時(shí)候,上面的文本框中會(huì)顯示相應(yīng)的記錄,這主要是對(duì)treeview進(jìn)行了設(shè)置,代碼如下:PrivateSubTreeView1_NodeClick(ByValNodeAsOnErrorResumeNext=Sub(3)班級(jí)設(shè)置班級(jí)設(shè)置效果圖圖班級(jí)設(shè)置界面制作與實(shí)現(xiàn)方法此界面制作與公寓設(shè)置基本一致。在這個(gè)界面中主要用到了一個(gè)Sstab控件與一個(gè)顯示表中內(nèi)容的Datagrid控件。以及起到美觀
33、作用的Frame控件。在右下角的文本框中可以輸入想要添加的班級(jí)名稱。然后點(diǎn)擊添加即可完成添加操作。Datagrid中會(huì)立即刷新顯示更新內(nèi)容。要修改某條記錄時(shí),要先對(duì)所要修改的記錄進(jìn)行選擇,確認(rèn)選擇后,點(diǎn)擊下面的修改按鈕,會(huì)在下面的文本中顯示出所要修改班級(jí)的名稱,此時(shí)即可輸入要修改的名字。然后點(diǎn)擊更新就會(huì)完成此操作。Datagrid也會(huì)即時(shí)更新其內(nèi)容。刪除操作更為簡(jiǎn)單,選擇想要?jiǎng)h除的班級(jí)名稱,點(diǎn)擊刪除,確認(rèn)后完成此操作。添加班級(jí)源碼:"class='"&&"'"If=FalseThenMsgBox"此班級(jí)已存在&q
34、uot;,"提示"SubEndIf=""If=""ThenMsgBox"輸入所要添加班級(jí)的名稱","提示"ExitSubEndIf"class")="class"=""Set=Adodc3修改班級(jí)源碼:If="修改"Then="輸入想要修改的班級(jí)名稱"="更新"=False=FalseElseIf="更新"Then=True=True="輸入想要添
35、加的班級(jí)名稱""class")="修改"EndIf刪除班級(jí)源碼:If=""Then提示 "MsgBox"選擇所要?jiǎng)h除班級(jí)的名稱ExitSubEndIfIf(MsgBox("你真的想刪除班級(jí)名稱為"&&"的記錄嗎?",vbOKCancel,"系統(tǒng)提示")=vbOKThenIf=""Set=Adodc3EndSub3.3數(shù)據(jù)備份數(shù)據(jù)備份是一個(gè)數(shù)據(jù)庫軟件必不可少的一部分,利用它可以把當(dāng)前數(shù)據(jù)庫表進(jìn)行全面的備份,以備以
36、后使用。因?yàn)樵诓僮髦锌赡軙?huì)導(dǎo)致數(shù)據(jù)遭到破壞,或者是系統(tǒng)的原因使數(shù)據(jù)庫損壞,或者是一些其它的人為原因,這樣你可以用此功能把數(shù)據(jù)恢復(fù)到最后一次備份的狀態(tài),使損失做到最少,經(jīng)常備份,操作起來更有安全感。數(shù)據(jù)備份效果圖圖數(shù)據(jù)備份效果圖功能實(shí)現(xiàn)界面制作相對(duì)程序來說比較簡(jiǎn)單,用到的是coolbar控件,點(diǎn)擊按鈕可以選擇備份路徑。然后點(diǎn)擊數(shù)據(jù)備份即可。窗體初始化部分代碼如下:Dimcnn1AsDimrstschemaAsDimstrcnnAsStringSetcnn1=Newstrcnn="provider="&"datasource="&&&
37、quot;"strcnnSetrstschema=(adSchemaTables)DoUntiltemp=rstschema!Table_NameIfLeft(temp,1)<>"M"ThenLoopOnErrorGoToerrPathName=&""dbasize=FileLen(PathName)err:ExitSub數(shù)據(jù)備份部分在本程序中用到了一個(gè)模塊,在模塊中有一個(gè)方法,dobackup。點(diǎn)擊備份按鈕后開始備份,代碼如下:IftxtDestination<>""ThenDoBackup
38、PathName,txtDestinationMsgBox"備份成功!","提示"ElseIftxtDestination=""ThenMsgBox"Youmustspecifyadistinationforthebackup",vbCritical其中DoBackup為模塊中已定義的方法,在這里進(jìn)行調(diào)用。Dobackup實(shí)現(xiàn)方法代碼如下所示:DimlFileOpAsLongDimlresultAsLongDimlFlagsAsLongDimSHFileOpAsSHFILEOPSTRUCTDimstrSourceD
39、irAsStringDimstrDestinationDirAsString=vbHourglassBackupFolderName=strDestinationPathMkDirBackupFolderName&"Backup-"&Format(Date,"")lFileOp=FO_COPYlFlags=lFlagsAndNotFOF_SILENTlFlags=lFlagsOrFOF_NOCONFIRMATIONlFlags=lFlagsOrFOF_NOCONFIRMMKDIRlFlags=lFlagsOrFOF_FILESONLYWi
40、thSHFileOp.wFunc=lFileOp.pFrom=strSourcePath&vbNullChar.pTo=strDestinationPath&"Backup-"&Format(Date,"")&vbNullChar.fFlags=lFlagsEndWithlresult=SHFileOperation(SHFileOp)=vbDefault="BackupComplete"在備份分前先要選擇一個(gè)備份路徑,點(diǎn)擊那個(gè)按鈕開始進(jìn)行選擇,實(shí)現(xiàn)方法如下:DimstrTempAsStringstrT
41、emp=fBrowseForFolder,"Selectbackuppath")IfstrTemp<>""ThentxtDestination=strTempEndIf數(shù)據(jù)恢復(fù)界面同上,它的功能主要是在當(dāng)前數(shù)據(jù)庫遭到破壞后,可以利用它來進(jìn)行數(shù)據(jù)恢復(fù),在數(shù)據(jù)恢復(fù)前要選擇所要恢復(fù)的數(shù)據(jù)庫路徑,如下:DimstrTempAsStringstrTemp=fBrowseForFolder,"RestoreFrom")IfstrTemp<>""ThentxtSource=strTempdbasize2=
42、FileLen(txtSource&"")lblSelectedDba="SelectedBackupDatabaseis:"&Format(dbasize2/1024)/1024,"standard")&"MB."=TrueEndIfErro:SelectCaseCase53'FileNotFoundlblSelectedDba="NoBackupatthislocation"=FalseEndSelect它主要是查看數(shù)據(jù)庫是否存在,如果所恢復(fù)的數(shù)據(jù)不存在,則會(huì)
43、提示錯(cuò)誤。數(shù)據(jù)恢復(fù)也用到了一個(gè)方法,在模塊中也已經(jīng)定義了該方法DoRestore。數(shù)據(jù)恢復(fù)代碼如下:IfMsgBox("Restoringdatabasefromlocation"&txtSource&"willreplaceexistingdatabaseyouwanttoContunue",vbYesNo)=vbYesThenDoRestore,IfNoDba=TrueThenMsgBox"DatabaseRestoredClickOktoExitProgramUnloadfrmRestoreDbaEndIfElse=&qu
44、ot;DatabaseRestoreCanceled"EndIf其中DoRestore實(shí)現(xiàn)的功能源碼如下所示:DEFSOURCE="PROVIDER=SecurityInfo=False;DataSource="DBName="JetOLEDB:DatabasePassword=matrix-se;"SetDb=NewDEFSOURCE&&DBNameDimlFileOpAsLongDimlresultAsLongDimlFlagsAsLongDimSHFileOpAsSHFILEOPSTRUCTDimstrSourceDirA
45、sStringDimstrDestinationDirAsString=vbHourglassBackupFolderName=strDestinationPathlFileOp=FO_COPYlFlags=lFlagsAndNotFOF_SILENTlFlags=lFlagsOrFOF_NOCONFIRMATIONlFlags=lFlagsOrFOF_NOCONFIRMMKDIRlFlags=lFlagsOrFOF_FILESONLYWithSHFileOp.wFunc=lFileOp.pFrom=strSourcePath&""&vbNullChar.p
46、To=strDestinationPath&vbNullChar.fFlags=lFlagsEndWithlresult=SHFileOperation(SHFileOp)SetDb=NewDEFSOURCE&&DBName=vbDefault="RestoreComplete"說明:本程序中此部分內(nèi)容參考了網(wǎng)上的同類型代碼,對(duì)其進(jìn)行修改后得到此成型作品,從功能上來講,它已經(jīng)實(shí)現(xiàn)了它所要完成的工作,經(jīng)過測(cè)試已經(jīng)沒有問題,但是實(shí)現(xiàn)的源代碼,也只有部分掌握。這實(shí)屬本人精力與能力有限所置。四、學(xué)生宿舍管理4.1 學(xué)生請(qǐng)假學(xué)生請(qǐng)假與違規(guī)在一個(gè)公寓管理中是最常
47、見的問題了,所以在此軟件中加上了這兩項(xiàng)功能。用它們可以隨時(shí)記錄請(qǐng)假記錄。學(xué)生請(qǐng)假記錄圖片顯示圖學(xué)生請(qǐng)假效果圖界面制作與實(shí)現(xiàn)此界面主要是對(duì)學(xué)生請(qǐng)假記錄做一個(gè)添加。利用它可以把學(xué)生的基本的請(qǐng)假資料保存起來。其中的日期是系統(tǒng)當(dāng)前的日期,它是不可以進(jìn)行更改的,然后在其它文本框中輸入其它詳細(xì)資料即可以。這里的添加操作用的是Adodc控件,所有的文本框在初始的時(shí)候沒有同Adodc綁定,而是在代碼中與數(shù)據(jù)庫中表的字段進(jìn)行的綁定,然后進(jìn)行添加操作。這樣做在使用的時(shí)候有很大的方便之處。第一是窗體在初始化時(shí)不會(huì)顯示任何記錄,不用設(shè)置文本框?yàn)榭盏纫幌盗械牟僮?。第二是?dāng)進(jìn)行記錄輸入時(shí),發(fā)現(xiàn)問題不用輸入時(shí),不按添加按鈕
48、記錄就不會(huì)進(jìn)行添加。注意的是,在添加前要確定所有的文本框都要進(jìn)行詳細(xì)填寫,否則會(huì)提示輸入詳細(xì)信息。添加主要代碼如下:If = "" Or=""Or=""Or=""Or=""Or=""Or=""Or=""OrThenMsgBox "請(qǐng)輸入詳細(xì)信息!系統(tǒng)提示"ElseWithAdodcl.(0).Value=.Value=.(2).Value=.(3).Value=.(4).Value=.(5).Value=.(6).V
49、alue=.Value=.(8).Value=EndWithSet=AdodclIf4.2 學(xué)生違規(guī)學(xué)生違規(guī)記錄圖片顯示圖學(xué)生違規(guī)效果圖此界面與上面的請(qǐng)假記錄差不多。它主要是對(duì)學(xué)生的違規(guī)記錄做一個(gè)添加。其中的日期也是系統(tǒng)當(dāng)前的日期,它是不可以進(jìn)行更改的,然后在其它文本框中輸入其它詳細(xì)資料即可以這里的違規(guī)操作用的也是Adodc控件,所有的文本框在初始的時(shí)候也沒有同Adodc綁定,它也是在代碼中與數(shù)據(jù)庫中表的字段進(jìn)行的綁定,然后進(jìn)行添加操作。其它操作同上面基本旦是一致的,對(duì)于違規(guī)在主界面的左側(cè)并沒有快速顯示操作,只可以用記錄查看里面的違規(guī)查看進(jìn)行選擇查看。 在這里所添寫的記錄也要全面一些, 主要是
50、為了以后查找更為方便,不全,系統(tǒng)會(huì)提示的!違規(guī)部分代碼如下:在 load 事件里對(duì)數(shù)據(jù)庫鏈接的處理,以及日期文本框的設(shè)置,代碼如下:provider = "provider="datasource = "data source=" & & ""With Adodc1.Mode = adModeReadWrite.ConnectionString = provider & "" & datasource.CommandType = adCmdTable.RecordSource = &
51、quot;qingjia".RefreshEnd With如果= Date= False確定無誤后,進(jìn)行添加,代碼如下:If = "" Or= "" Or= "" Or= "" Or= "" Or= "" Or= "" Or= "" OrThenMsgBox"請(qǐng)輸入詳細(xì)信息!","系統(tǒng)提示"ElseWithAdodc1.(0).Value=.(1).Value=.(2).Value=.(
52、3).Value=.(4).Value=.(5).Value=.(6).Value=.(7).Value=.(8).Value=.EndWith五、信息查看記錄查看可以讓你對(duì)已錄入的記錄進(jìn)行各種符合條件的查找,顯示符合條件的記錄。這里主要包括四個(gè)方面的查看:衛(wèi)生查看、請(qǐng)假查看、違規(guī)查看、資產(chǎn)查看。下面分別介紹。在記錄查看中還有其它三項(xiàng)查看方式,分別是請(qǐng)假、違規(guī)、資產(chǎn)三項(xiàng)記錄查看。它們的實(shí)現(xiàn)方法與窗體與上面的衛(wèi)生查看基本相同。請(qǐng)假查看圖請(qǐng)假查看效果圖用它可以對(duì)當(dāng)前所有記錄以及有效日期內(nèi)的記錄進(jìn)行查看。代碼如下:DimsqlAsStringDimsAsStrings=If=TrueThenSet=
53、Adodc1=TrueThensql="select*fromqingjiawhere日期='"&Trim(s)&"'"WithAdodc3.Mode=adModeReadWrite.ConnectionString=provider&""&datasource.CommandType=adCmdText.RecordSource=sql.RefreshEndWithSet=Adodc3IfUnloadMe在窗體的load中要設(shè)置已經(jīng)添加的日期,需要對(duì)表進(jìn)行條件查詢,代碼如下:s="selectdistinct日期fromqingjia"WithAdodc2.Mode=adModeReadWrite.ConnectionString=provider&""
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年一年級(jí)下學(xué)期數(shù)學(xué)《總復(fù)習(xí)》(教案)
- 六年級(jí)下冊(cè)數(shù)學(xué)教案-1.4 求比一個(gè)數(shù)多(少)百分之幾的數(shù)是多少 青島版
- 六年級(jí)上冊(cè)數(shù)學(xué)教案-2.2 圓的周長 ︳西師大版
- 學(xué)習(xí)2025年雷鋒精神六十二周年主題活動(dòng)實(shí)施方案 (3份)-66
- 數(shù)學(xué)-云南省師范大學(xué)附屬中學(xué)2025屆高三下學(xué)期開學(xué)考試試題和答案
- 2025年度東莞市入學(xué)積分制社區(qū)教育志愿者服務(wù)協(xié)議
- 2025年度交通事故人傷私了協(xié)議(賠償期限與方式)
- 二零二五年度醫(yī)療機(jī)構(gòu)與康復(fù)醫(yī)院醫(yī)生合作合同
- 2025年度安保服務(wù)滿意度調(diào)查合同范本
- 二零二五年度白酒品牌授權(quán)區(qū)域代理及市場(chǎng)拓展合同
- 產(chǎn)品手繪設(shè)計(jì)表現(xiàn)技法PPT完整全套教學(xué)課件
- GA/T 1988-2022移動(dòng)警務(wù)即時(shí)通信系統(tǒng)功能及互聯(lián)互通技術(shù)要求
- 文科學(xué)術(shù)規(guī)范與學(xué)術(shù)論文寫作課件
- 人教版小學(xué)二年級(jí)體育下冊(cè)全冊(cè)教案
- 農(nóng)業(yè)政策學(xué)PPT完整全套教學(xué)課件
- 國家電網(wǎng)招聘之其他工學(xué)類復(fù)習(xí)資料大全
- 天山天池景區(qū)介紹-天山天池景點(diǎn)PPT(經(jīng)典版)
- 電動(dòng)機(jī)潤滑檔案
- 房地產(chǎn) -中建一局成本復(fù)盤案例匯編
- 回延安部編語文名師公開課一等獎(jiǎng)教學(xué)設(shè)計(jì)課件2
- 正常分娩 第三產(chǎn)程的臨床經(jīng)過及護(hù)理
評(píng)論
0/150
提交評(píng)論