宿舍管理系統(tǒng)代碼實(shí)現(xiàn)_第1頁
宿舍管理系統(tǒng)代碼實(shí)現(xiàn)_第2頁
宿舍管理系統(tǒng)代碼實(shí)現(xiàn)_第3頁
宿舍管理系統(tǒng)代碼實(shí)現(xiàn)_第4頁
宿舍管理系統(tǒng)代碼實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)凹陷的效果???/p>

2、體實(shí)現(xiàn)立體的感覺。原理主要是在鼠標(biāo)mousemove事件與線的顏色變化組合來實(shí)現(xiàn)。主要代碼如下:在窗體中的鼠標(biāo)移動(dòng)過程中,以及在窗體初始化的時(shí)候,要把添加的線的.Visible 屬性設(shè)置為 False ,只有在鼠標(biāo)按下的時(shí)候在改變其顏色即可。Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, Y AsSingle)= False= False= False= False= False= False= False= FalseEnd Sub鼠標(biāo)按下的時(shí)候設(shè)置線條的顏色如下:Private Sub

3、 Label3_MouseDown(Button As Integer, Shift As Integer, x As Single, YAs Single)= &H808080 = &H808080 = &HE0E0E0 = &HE0E0E0End Sub鼠標(biāo)移動(dòng)到標(biāo)簽的時(shí)候設(shè)置線條的顏色如下:Private Sub Label3_MouseMove(Button As Integer, Shift As Integer, x As Single, YAs Single) = &HE0E0E0 = &HE0E0E0 = &H808080

4、 = &H808080 = True = True = True = TrueEnd Sub(2) 用戶類型判斷在數(shù)據(jù)庫(kù)中建了一人 yonghu 表。在添加管理人員時(shí)有兩種默認(rèn)級(jí)別。管理員、普通用數(shù)據(jù)轉(zhuǎn)換等。沒有刪戶。管理員擁有對(duì)數(shù)據(jù)庫(kù)操作的一切權(quán)限。普通用戶只有普通的查看, 除等操作功能。前用戶成功登錄后,會(huì)在主窗體的狀態(tài)欄中顯示出當(dāng)前用戶及其用戶類型。主要代碼如下: 設(shè)置當(dāng)前控件連接的數(shù)據(jù)庫(kù)Dim provider As StringDim datasource As String provider = "provider=" datasource = &quo

5、t;data source=" & & ""With Adodc1 .Mode = adModeReadWrite .ConnectionString = provider & "" & datasource .CommandType = adCmdTable .RecordSource = "yonghu" .Refresh對(duì)用戶進(jìn)行判斷If = "" The nMsgBox "請(qǐng)輸入用戶名!", 48," 提示"Exit SubE

6、nd If "用戶='"& & "”'If = False And = Trim"p ass") The n ="級(jí)別”) ="用戶")Un load MeElse一 HHHHMsgBox "登錄不成功,請(qǐng)重新登錄!", 48,"End If程序主界面程序主界面為本軟件的顯示的核心部分。一切主要操作及顯示都通過這里完成。整個(gè)界學(xué)牛背a訥環(huán)托咒mmist用B; If用尸恆st;甘叩鬲面主要由五部分組成。菜單部分、工具欄、左側(cè)操作欄、右側(cè)顯示欄以及狀態(tài)欄。界

7、面效果圖如下:和,oll魚g櫓呂T J牛料g臨 NIliBV射入g金it創(chuàng)3mjE0知33Z1A-C-2-SMJ£0疋盤Ml霑1A號(hào)瓷冨BdZOf皆6A昏SWM3,SwfB£0入號(hào)SWM:D5lAT 益*Bdi盤ft實(shí)UC-0Q2魄2IJA導(dǎo)賢高Efl?AS人導(dǎo)豎離Boa石T知2口 3二寫E30.-9 J.f乂 31圖程序主界面左側(cè)操作欄和右側(cè)顯示欄會(huì)在下面的內(nèi)容中做介紹,現(xiàn)在只簡(jiǎn)單介紹一下工具欄和狀態(tài)欄,以及主窗體的各個(gè)事件。它的實(shí)現(xiàn)方法如下所示:Dim o As AdodcSet o =這里主要是用到了 ado 對(duì)像的方法。用這個(gè)方法得到數(shù)據(jù)源。面是整個(gè)工具欄運(yùn)行時(shí)代碼

8、:Select CaseCase 1Case 3Case 5On Error GoTo next2Dim s As AdodcSet s =If = "users" ThenEnd If next2:Case 7On Error Resume NextDim o As AdodcSet o =Case 11With Adodc1 .Mode = adModeReadWrite .ConnectionString = provider & "" & datasource .CommandType = adCmdTable .RecordSo

9、urce = "users" ' .RefreshSet = Adodc1Call dxCase 13Unload MeEnd Select = " 級(jí)別 ") = " 用戶 ")x = (Y - z) / 4(2) .Text = "當(dāng)前用戶:(3) .Text = "用戶模式:(4) .Text = Date & " " & Time ' 設(shè)置普通用戶模式If = " 普通用戶 " Then = False = False = False

10、= False(5) .Visible = False(6) .Visible = False(7) .Visible = False(8) .Visible = FalseEnd If- - 750- - 750- - 1200- - 1200- - 1200- - 1500- - 1500- - 1500(1).Width = u + x (2).Width = v + x(3) .Width = w + x(4) .Width = m + x provider = "provider=" datasource = "data source=" &a

11、mp; & ""With Adodc1 .Mode = adModeReadWrite .ConnectionString = provider & "" & datasource .CommandType = adCmdTable .RecordSource = "users" ' .RefreshEnd WithWith Adodc2 .Mode = adModeReadWrite .ConnectionString = provider & "" & datas

12、ource .CommandType = adCmdTable .RecordSource = "gongyu" .RefreshEnd WithWith Adodc3 .Mode = adModeReadWrite .ConnectionString = provider & "" & datasource .CommandType = adCmdTable .RecordSource = "class" .RefreshEnd WithWith Adodc4 .Mode = adModeReadWrite .Con

13、nectionString = provider & "" & datasource .CommandType = adCmdTable .RecordSource = "weisheng" .RefreshEnd WithWith Adodc5 .Mode = adModeReadWrite .ConnectionString = provider & "" & datasourceEnd WithWith Adodc6 .Mode = adModeReadWrite .ConnectionStrin

14、g = provider & "" & datasource .CommandType = adCmdTable .RecordSource = "dengji" .RefreshEnd WithWith Adodc7 .Mode = adModeReadWrite .ConnectionString = provider & "" & datasource .CommandType = adCmdTable .RecordSource = "qinshi" .RefreshEnd

15、WithWith Adodc9 .Mode = adModeReadWrite .ConnectionString = provider & "" & datasource .CommandType = adCmdTable .RecordSource = "zichan" .RefreshEnd With treeview 部分樹形顯示的初始化在這里已經(jīng)做了幾個(gè)過程,調(diào)用即可。系統(tǒng)管理3.1 用戶管理界面效果圖圖用戶管理 界面制作與實(shí)現(xiàn)方法這個(gè)界面總體來說各個(gè)控件比較簡(jiǎn)單, 但是作為一個(gè)添加刪除管理員的操作, 它已經(jīng)連 接到了數(shù)據(jù)庫(kù),與

16、數(shù)據(jù)庫(kù)的 yonghu 表相聯(lián)。各個(gè)控件也與數(shù)據(jù)庫(kù)中表的字段綁定。在窗體初始化的時(shí)候要判斷當(dāng)前數(shù)據(jù)庫(kù)表中是否有記錄,如果沒有記錄那么有些按鈕 將會(huì)被設(shè)置成為失效狀態(tài),否則會(huì)出現(xiàn)錯(cuò)誤。設(shè)置代碼如下:Dim provider As StringDim datasource As String provider = "provider=" datasource = "data source=" & & ""With Adodc1 .Mode = adModeReadWrite .ConnectionString = prov

17、ider & "" & datasource .CommandType = adCmdTable .RecordSource = "yonghu" .RefreshEnd With = False = FalseIf = 0 Then = False = False = False = FalseEnd If上一條與下一條的功能一目了然,它們可以對(duì)當(dāng)前表進(jìn)行上一條記錄或下一條記錄依次查看。當(dāng)找到記錄后, 可以對(duì)其進(jìn)行相對(duì)的刪除、修改等操作。 上一條記錄與下一條的記 下一條其中的一個(gè)按鈕的 enable 屬性設(shè)置為 true 。即不可以前查

18、看或向后查看。錄在查看時(shí)有一個(gè)判斷。當(dāng)表中記錄移到最前面(BOF或最后面(EOF時(shí),會(huì)把上一條或上一條與下一條主要代碼如下:' 移動(dòng)記錄If Then= False' 移動(dòng)記錄= TrueIf Then= FalseEnd If添加用戶可以添加使用該管理軟件的用戶。添加的時(shí)候可以選擇所添加人物的級(jí)別。軟件默認(rèn)為兩個(gè)級(jí)別:管理員、 普通用戶。管理員擁有對(duì)此軟件管理操作等一切的權(quán)力。普 通用戶,只有普通的查看、查詢、備份、添加等權(quán)力。沒有對(duì)記錄刪除等權(quán)力。在添加用戶 時(shí)你可以選擇一個(gè)且必須選擇一個(gè)。然后輸入此用戶的用戶名和密碼即可!添加用戶主要代碼:If = " 添加 &

19、quot; Then= False= False= False= " 確定 "= " 取消 "= True= True= True= True= TrueHHElseIf = "" ThenMsgBox " 用戶名不能為空!", 48, "提示 "= True= True= TrueElseIf = "" ThenMsgBox " 密碼不能為空!", 48, "提示 "ElseIf <> ThenMsgBox "

20、密碼兩次需一致!", 48, "提示 "ElseIf = "" ThenMsgBox "請(qǐng)選擇所建用戶類型! ", 48, " 提示"Else= True= " 編輯 "= " 添加 "= False= False= False= False= False= False= False= FalseEnd If刪除操作可以把當(dāng)前記錄刪除掉。一經(jīng)刪除即不可以在恢復(fù)。所以在操作前要想好。刪除操作部分代碼:If = 1 Then= FalseEnd IfIf (MsgBox

21、(" 你真的想刪除當(dāng)前記錄嗎? ", vbOKCancel, " 系統(tǒng)提示 ") = vbOK ThenIf編輯操作可以對(duì)當(dāng)前所選擇的用戶進(jìn)行編輯,可以修改其用戶名與密碼。當(dāng)當(dāng)前用戶感覺自己用戶名稱或密碼有泄露時(shí),可以進(jìn)行修改。修改記錄即更新表中的某一條記錄。編輯操作主要代碼如下:= False= True= True= True= True= True= True= " 確定 "ElseIf = " 取消 " Then= " 編輯 "= " 添加 "= True= True

22、= True= False= False= False= False= False= False= False= FalseEnd If3.2 公寓設(shè)置公寓設(shè)置可以說是本程序中一關(guān)鍵部分。因?yàn)樗械脑O(shè)置都在此進(jìn)行。包括公寓添加、 修改、刪除。寢室的添加、修改、刪除以及班級(jí)的添加、修改和刪除操作。只有正確的對(duì)這datagrid 的顯示,些設(shè)置進(jìn)行添加修改,才能輸入正確的記錄。這里主要涉及到的問題是 以及 treeview 及時(shí)形成新的結(jié)構(gòu)。還有一些就是對(duì)表記錄的復(fù)雜操作。在點(diǎn)擊 sstab 各版的時(shí)候,要在這時(shí)重新生成寢室設(shè)置中的樹型結(jié)構(gòu),Select Case PreviousTabCase

23、0Call startree1Case 1Dim I As IntegerIf <> 0 ThenDo While I <公寓名稱 ")LoopEnd IfCall startree1Case 2Call startree1End SelectEnd Sub (1) 公寓設(shè)置 公寓設(shè)置效果圖界面制作與實(shí)現(xiàn)方法1一號(hào)會(huì)廚七號(hào)淘a四號(hào)么離二號(hào)-豎苗I圖公寓設(shè)置退出在這個(gè)界面中主要用到了一個(gè)Sstab控件與一個(gè)顯示表中內(nèi)容的Datagrid控件。以及起到美觀作用的 Frame控件。在右下角的文本框中可以輸入想要添加的公寓名稱。然后點(diǎn)擊添加即可完成添加操作。Datagrid

24、中會(huì)立即刷新顯示更新內(nèi)容。要修改某條記錄時(shí),要先對(duì)所要修改的記錄進(jìn)行選擇,確認(rèn)選擇后,點(diǎn)擊下面的修改按鈕,會(huì)在下面的文本中顯示出所要修改公寓的名稱,此Datagrid也會(huì)即時(shí)更新其內(nèi)容。時(shí)即可輸入要修改的名字。然后點(diǎn)擊更新就會(huì)完成此操作。刪除操作更為簡(jiǎn)單, 選擇想要?jiǎng)h除的公寓名稱,點(diǎn)擊刪除,確認(rèn)后完成此操作。但是刪除后 不會(huì)影響其它表中的數(shù)據(jù)。其它表的有關(guān)此公寓的信息還會(huì)存在。在進(jìn)行所有操作前,先要確定數(shù)據(jù)庫(kù)已連接。在添加前要判斷所寫公寓名稱是否正確,即是否輸入名稱,該記錄不能為空,不為空則 對(duì)數(shù)據(jù)庫(kù)表進(jìn)行查找,判斷當(dāng)前輸入記錄是否已在表中存在,如果已存在,則會(huì)給出提示, 不存在,添加成功。I

25、f = False The nMsgBox "此公寓已存在”," 提示"SubEnd IfHHExit SubIf = "" The nMsgBox "輸入所要添加公寓的名稱"," 提示”End If添加:"公寓名稱 ") = "gongyu"一 HHSet = Adodc1修改公寓名稱:If = "" ThenMsgBox " 選擇要修改的公寓" 提示 "Exit SubEnd IfIf = " 修改 "

26、 Then= " 輸入想要修改的公寓名稱= " 更新 "= False= FalseElseIf = " 更新 " Then= True= True= " 輸入想要添加的公寓名稱"公寓名稱 ") ="update qinshi set公寓名稱 ='" & & "' where公寓名稱 ='" & Trim & "'"= " 修改 "End IfSet = Adodc1= A

27、dodc5刪除公寓名稱Exit SubIf = "" ThenMsgBox " 選擇所要?jiǎng)h除公寓的名稱 ", , " 提示"End IfIf (MsgBox("你真的想刪除公寓名稱為"& & “的記錄嗎? ", vbOKCa ncel," 系統(tǒng)提示")=vbOK The nIfHHSet = Adodc1(2)寢室設(shè)置寢室設(shè)置效果圖富空名稱 IIPi“iH 導(dǎo)厶窩1U1 1Q2 H-七號(hào)企離 fiRP - A號(hào)哲寓:601 60£ -euj ecM 四號(hào)盤寓

28、三號(hào)公鬲 五號(hào)盤寓 R-二酒101圖寢室設(shè)置界面制作與實(shí)現(xiàn)方法此界面實(shí)現(xiàn)相對(duì)比公寓設(shè)置來說相對(duì)復(fù)雜一些。用到的控件主要是 Sstab與Treeview 。If = True The nMsgBox "此公寓不存在"," 提示"End If但是在程序方面比較復(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重新刷新一下。以顯示更新

29、后的記錄。添加源碼:"公寓名稱=”'& & "”'SubIf = "" Or = "" ThenMsgBox " 請(qǐng)輸入所要添加的寢室及其所屬公寓 ", , " 提示"Exit SubEnd IfWith Adodc2.(0).Value =.(1).Value =End WithHHHHCall startree1修改操作可以把當(dāng)前選中的寢室進(jìn)行名稱修改與其所屬公寓進(jìn)行修改。當(dāng)要對(duì)名稱進(jìn)行修改時(shí), 先要選擇所要修改的寢室名, 選擇后會(huì)在寢室名稱里顯示出來,把當(dāng)前

30、寢室名稱改成要修改的寢室名稱, 然后點(diǎn)擊修改即完成名稱修改操作。 當(dāng)要對(duì)當(dāng)前寢室的所屬公寓進(jìn)行修改時(shí),需要先選擇所要修改的寢室,然后在上面的公寓名稱后填寫所要修改的寢室名稱。點(diǎn)擊修改后完成此操作。但是這種操作不是常見。修改源碼:" 公寓名稱 ='" & & "'"If = True ThenMsgBox " 此公寓不存在 ", , " 提示 "SubEnd IfDim sql As StringOn Error Resume NextIf = "" Or = &q

31、uot;" ThenMsgBox " 請(qǐng)?jiān)谙旅孢x擇所要修改的寢室 ", , " 提示"Exit SubEnd If'sql = "select * form qinshi where 公寓名稱 ='" & Trim & "' and 寢室 ='" & Trim & "'""update qinshi set寢室='" & & "',公寓名稱 ='

32、" & Trim & "'where寢室='" & Trim &"'and 公寓名稱 ='" & Trim & "'"一 HH一 HHCall startree1也就是這個(gè)樹型節(jié)點(diǎn)中的寢室其相關(guān)記錄不會(huì)被刪除掉的,如刪除操作可以刪除掉當(dāng)前樹型顯示中的任何一個(gè)子節(jié)點(diǎn),名稱,注意的是,刪除后這個(gè)記錄只在 qinshi 表中刪除,果想刪除,還需要人工操作。實(shí)現(xiàn)的方法主要是對(duì)qinshi表操作,先對(duì)其進(jìn)行查詢,查詢?nèi)绻嬖谶@條記錄,則在表中把當(dāng)前

33、想要被刪除的表是否存在, 如果不存在, 則給出提示, 它刪除掉, 刪除后調(diào)用生成樹過程, 把當(dāng)前寢室設(shè)置中的樹型結(jié)構(gòu)重新生成,更新記錄。實(shí)現(xiàn)的部分代碼如下所示:If = "" Or = "" Or = "公寓管理系統(tǒng) " ThenMsgBox " 選擇所要?jiǎng)h除的寢室", , " 提示"Exit SubEnd IfIf (MsgBox(" 你真的想刪除& & " " & " 寢室為 " & &的記錄嗎? &q

34、uot;, vbOKCancel,"系統(tǒng)提示 ") = vbOK Then"delete from qinshi where公寓名稱 ='" & Trim & "' and寢室='" & Trim & "'"If一 HH一 HH這主要是對(duì) treeview 進(jìn)行了Call startree1在 treeview 點(diǎn)擊的時(shí)候, 上面的文本框中會(huì)顯示相應(yīng)的記錄, 設(shè)置,代碼如下:Private Sub TreeView1_NodeClick(ByVal N

35、ode AsOn Error Resume Next= = Sub (3) 班級(jí)設(shè)置 班級(jí)設(shè)置效果圖圖班級(jí)設(shè)置界面制作與實(shí)現(xiàn)方法此界面制作與公寓設(shè)置基本一致。 在這個(gè)界面中主要用到了一個(gè) Sstab 控件與一個(gè)顯示表中內(nèi)容的 Datagrid 控件。以及起到美觀作用的 Frame 控件。在右下角的文本框中可以輸入想要添加的班級(jí)名稱。然后點(diǎn)擊添加即可完成添加操作。Datagrid 中會(huì)立即刷新顯示更新內(nèi)容。要修改某條記錄時(shí),要先對(duì)所要修改的記錄進(jìn)行選 擇,確認(rèn)選擇后,點(diǎn)擊下面的修改按鈕, 會(huì)在下面的文本中顯示出所要修改班級(jí)的名稱,此Datagrid 也會(huì)即時(shí)更新其內(nèi)容。時(shí)即可輸入要修改的名字。然

36、后點(diǎn)擊更新就會(huì)完成此操作。刪除操作更為簡(jiǎn)單,選擇想要?jiǎng)h除的班級(jí)名稱,點(diǎn)擊刪除,確認(rèn)后完成此操作。添加班級(jí)源碼:"class='" & & "'"If = False ThenMsgBox "此班級(jí)已存在 ", , " 提示 "SubEnd IfHHIf = "" ThenMsgBox " 輸入所要添加班級(jí)的名稱 ", , " 提示"Exit SubEnd If "class") = "class

37、"一 HHSet = Adodc3修改班級(jí)源碼:If = " 修改 " Then= " 輸入想要修改的班級(jí)名稱 "= " 更新 "= False= FalseElseIf = " 更新 " Then= True= True= " 輸入想要添加的班級(jí)名稱 " "class") = " 修改 "End If刪除班級(jí)源碼:If = "" ThenMsgBox " 選擇所要?jiǎng)h除班級(jí)的名稱" 提示 "Exi

38、t SubEnd IfIf (MsgBox(" 你真的想刪除班級(jí)名稱的記錄嗎? ", vbOKCancel, " 系統(tǒng)提示") = vbOK ThenIf一 HHSet = Adodc3End Sub3.3 數(shù)據(jù)備份數(shù)據(jù)備份是一個(gè)數(shù)據(jù)庫(kù)軟件必不可少的一部分,利用它可以把當(dāng)前數(shù)據(jù)庫(kù)表進(jìn)行全面的或者是系統(tǒng)的原因使數(shù)據(jù)庫(kù)備份, 以備以后使用。 因?yàn)樵诓僮髦锌赡軙?huì)導(dǎo)致數(shù)據(jù)遭到破壞, 損壞,或者是一些其它的人為原因, 這樣你可以用此功能把數(shù)據(jù)恢復(fù)到最后一次備份的狀態(tài), 使損失做到最少,經(jīng)常備份,操作起來更有安全感。數(shù)據(jù)備份效果圖圖數(shù)據(jù)備份效果圖 功能實(shí)現(xiàn)界面制作相

39、對(duì)程序來說比較簡(jiǎn)單, 用到的是 coolbar 控件,點(diǎn)擊按鈕可以選擇備份路徑。然后點(diǎn)擊數(shù)據(jù)備份即可。窗體初始化部分代碼如下:Dim cnn1 AsDim rstschema AsDim strcnn As StringSet cnn1 = New strcnn = "provider=" & "data source=" & & "" strcnnSet rstschema = (adSchemaTables)Do Until temp = rstschema!Table_NameIf Left(temp,

40、1) <> "M" ThenEnd IfLoopOn Error GoTo errPathName = & "" dbasize = FileLen(PathName) err:Exit Sub數(shù)據(jù)備份部分在本程序中用到了一個(gè)模塊,在模塊中有一個(gè)方法, dobackup 。點(diǎn)擊備份按鈕后開始備份,代碼如下:If txtDestination <> "" ThenDoBackup PathName, txtDestinationMsgBox " 備份成功! ", , " 提示

41、"ElseIf txtDestination = "" ThenMsgBox "You must specify a distination for the backup", vbCritical其中 DoBackup 為模塊中已定義的方法,在這里進(jìn)行調(diào)用。Dobackup 實(shí)現(xiàn)方法代碼如下所示:Dim lFileOp As LongDim lresult As LongDim lFlags As LongDim SHFileOp As SHFILEOPSTRUCTDim strSourceDir As StringDim strDestina

42、tionDir As String = vbHourglassBackupFolderName = strDestinationPathMkDir BackupFolderName & "Backup - " & Format(Date, "") lFileOp = FO_COPY lFlags = lFlags And Not FOF_SILENT lFlags = lFlags Or FOF_NOCONFIRMATION lFlags = lFlags Or FOF_NOCONFIRMMKDIR lFlags = lFlags Or

43、FOF_FILESONLYWith SHFileOp.wFunc = lFileOp.pFrom = strSourcePath & vbNullChar.pTo = strDestinationPath & "Backup - " & Format(Date, "") & vbNullChar.fFlags = lFlagsEnd With lresult = SHFileOperation(SHFileOp) = vbDefault = "Backup Complete"在備份分前先要選擇一個(gè)備份路

44、徑,點(diǎn)擊那個(gè)按鈕開始進(jìn)行選擇,實(shí)現(xiàn)方法如下:Dim strTemp As String strTemp = fBrowseForFolder, "Select backup path")If strTemp <> "" ThentxtDestination = strTempEnd If數(shù)據(jù)恢復(fù)界面同上, 它的功能主要是在當(dāng)前數(shù)據(jù)庫(kù)遭到破壞后, 可以利用它來進(jìn)行數(shù)據(jù) 恢復(fù),在數(shù)據(jù)恢復(fù)前要選擇所要恢復(fù)的數(shù)據(jù)庫(kù)路徑,如下:Dim strTemp As String strTemp = fBrowseForFolder, "Restore

45、 From")If strTemp <> "" ThentxtSource = strTempdbasize2 = FileLen(txtSource & "")lblSelectedDba = "Selected Backup Database is : " & Format(dbasize2 / 1024) / 1024, "standard") & "MB."= TrueEnd IfErro:Select CaseCase 53 'Fi

46、le Not FoundlblSelectedDba = "No Backup at this location"= FalseEnd Select它主要是查看數(shù)據(jù)庫(kù)是否存在,如果所恢復(fù)的數(shù)據(jù)不存在,則會(huì)提示錯(cuò)誤。DoRestore 。數(shù)據(jù)恢復(fù)代碼數(shù)據(jù)恢復(fù)也用到了一個(gè)方法,在模塊中也已經(jīng)定義了該方法 如下:If MsgBox("Restoring database from location " & txtSource & " will replace existingDoRestore ,If NoDba = True The

47、ndatabase you want to Contunue", vbYesNo) = vbYes ThenMsgBox "Database Restored Click Ok to Exit Program"Unload frmRestoreDbaEnd IfElse= "Database Restore Canceled"End If其中 DoRestore 實(shí)現(xiàn)的功能源碼如下所示:DEFSOURCE = "PROVIDER= Security Info=False;Data Source="DBName = "

48、;Jet OLEDB:Database Password=matrix-se;"Set Db = NewDEFSOURCE & & DBNameDim lFileOp As LongDim lresult As LongDim lFlags As LongDim SHFileOp As SHFILEOPSTRUCTDim strSourceDir As StringDim strDestinationDir As String = vbHourglassBackupFolderName = strDestinationPath lFileOp = FO_COPY lF

49、lags = lFlags And Not FOF_SILENT lFlags = lFlags Or FOF_NOCONFIRMATION lFlags = lFlags Or FOF_NOCONFIRMMKDIR lFlags = lFlags Or FOF_FILESONLYWith SHFileOp.wFunc = lFileOp.pFrom = strSourcePath & "" & vbNullChar.pTo = strDestinationPath & vbNullChar.fFlags = lFlagsEnd With lresu

50、lt = SHFileOperation(SHFileOp)Set Db = NewDEFSOURCE & & DBName=vbDefault ="Restore Comp lete"說明:本程序中此部分內(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è)公寓管理中是最常見的問題了,所以在此軟件中加上了這兩項(xiàng)功 能。用它們可以隨時(shí)記錄請(qǐng)假記錄。學(xué)生請(qǐng)假記錄圖片顯示2d日期

51、 |£004-9-20姓名f扌比準(zhǔn)老師備注添加I退出I圖學(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ù)庫(kù)中表的字段進(jìn)行的綁定,然后進(jìn)行添加操作。這樣做在使用的時(shí)候有很大的方便之處。第一是窗體在初始化時(shí)不會(huì)顯示任何記錄,不用設(shè)置文本框 為空等一系列的操作。第二是當(dāng)進(jìn)行記錄輸入時(shí),發(fā)現(xiàn)問題不用輸入時(shí),不按添加按鈕記錄否則會(huì)提示就不會(huì)進(jìn)行添

52、加。注意的是,在添加前要確定所有的文本框都要進(jìn)行詳細(xì)填寫, 輸入詳細(xì)信息。添加主要代碼如下:If = "" Or = "" Or = "" Or = "” or = "” or = "” or = "” or = "” or ="”The nElseWith Adodcl(O).Value = .(1).Value = (2).Value = .(3).Value = .(4).Value = .(5).Value = .(6).Value = .(7).Value = .(

53、8).Value =End WithSet = 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ù)庫(kù)中表的字段進(jìn)行的綁定,然后進(jìn)行添加操作。其它操作同上面基本是一致的, 對(duì)于違規(guī)在主界面的左側(cè)并沒有快速顯示操作,只可以用記錄查看里面的違規(guī)查看進(jìn)行選擇查看。 在這里所添寫的記錄也要全面一些, 主要是為了以后查找更為

54、方便, 如果 不全,系統(tǒng)會(huì)提示的! 違規(guī)部分代碼如下: 在 load 事件里對(duì)數(shù)據(jù)庫(kù)鏈接的處理,以及日期文本框的設(shè)置,代碼如下:provider = "provider=" datasource = "data source=" & & ""With Adodc1 .Mode = adModeReadWrite .ConnectionString = provider & "" & datasource .CommandType = adCmdTable .RecordSource

55、= "qingjia" .RefreshEnd With = Date = False確定無誤后,進(jìn)行添加,代碼如下:If = "" Or = "" Or = "" Or = "" Or = "" Or = "" Or = "" Or = "" Or = ""ThenMsgBox " 請(qǐng)輸入詳細(xì)信息! ", , " 系統(tǒng)提示 "ElseWith Adodc1

56、.(0).Value = .(1).Value = .(2).Value = .(3).Value = .(4).Value = .(5).Value = .(6).Value = .(7).Value = .(8).Value =End WithSet = Adodc1五、信息查看.CommandType = adCmdText.RecordSource = s顯示符合條件的記錄。 這記錄查看可以讓你對(duì)已錄入的記錄進(jìn)行各種符合條件的查找, 里主要包括四個(gè)方面的查看:衛(wèi)生查看、請(qǐng)假查看、違規(guī)查看、資產(chǎn)查看。下面分別介紹。在記錄查看中還有其它三項(xiàng)查看方式,分別是請(qǐng)假、違規(guī)、資產(chǎn)三項(xiàng)記錄查看。它們

57、 的實(shí)現(xiàn)方法與窗體與上面的衛(wèi)生查看基本相同。請(qǐng)假查看圖請(qǐng)假查看效果圖用它可以對(duì)當(dāng)前所有記錄以及有效日期內(nèi)的記錄進(jìn)行查看。代碼如下:Dim sql As StringDim s As StringIf = True ThenSet = Adodc1= True Then日期 ='" & Trim(s) & "'"sql = "select * from qingjia whereWith Adodc3 .Mode = adModeReadWrite .ConnectionString = provider & "" & datasource .CommandType = adCmdText .RecordSource = sql .RefreshEnd WithSet = Adodc3IfUnload Me在窗體的 load 中要設(shè)置已經(jīng)添加的日期,需要對(duì)表進(jìn)行條件查詢,代碼如下:s = "select distinct日期 from qingjia"With Adodc2 .Mode = adModeReadWrite .ConnectionString = provider & "" & d

溫馨提示

  • 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. 人人文庫(kù)網(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)論