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

下載本文檔

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

文檔簡(jiǎn)介

代碼實(shí)現(xiàn)登錄界面此界面是由Photoshop制作而成。在做這個(gè)登錄面時(shí)候想了諸多,最后選取了這種,感覺它看起來干凈,整潔。又不失其莊雅。加上本單位最有特色建筑,會(huì)讓人一目了然。登錄圖片顯示圖4.1登錄界面界面制作與實(shí)現(xiàn)在這個(gè)界面中,重要解決是判斷當(dāng)前顧客輸入信息與否對(duì)的。如果對(duì)的,那么它屬于哪種類型顧客。由于此管理軟件在登錄后不同類型顧客顯示窗體與實(shí)現(xiàn)功能都不是同樣,它們會(huì)有所差別!(1)浮動(dòng)按鈕實(shí)現(xiàn)擬定和取消兩個(gè)按鈕在鼠標(biāo)沒有放上去之前看上去只是一種普通平面字效果,但是當(dāng)你把鼠標(biāo)放在這幾種字上面后,它會(huì)顯示凸出效果,按下后呈現(xiàn)凹陷效果??傮w實(shí)現(xiàn)立體感覺。原理重要是在鼠標(biāo)mousemove事件與線顏色變化組合來實(shí)現(xiàn)。重要代碼如下:在窗體中鼠標(biāo)移動(dòng)過程中,以及在窗體初始化時(shí)候,要把添加線.Visible屬性設(shè)立為False,只有在鼠標(biāo)按下時(shí)候在變化其顏色即可。PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,xAsSingle,YAsSingle)Line1.Visible=FalseLine2.Visible=FalseLine3.Visible=FalseLine4.Visible=FalseLine5.Visible=FalseLine6.Visible=FalseLine7.Visible=FalseLine8.Visible=FalseEndSub鼠標(biāo)按下時(shí)候設(shè)立線條顏色如下:PrivateSubLabel3_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,YAsSingle)Line1.BorderColor=&H808080Line2.BorderColor=&H808080Line3.BorderColor=&HE0E0E0Line4.BorderColor=&HE0E0E0EndSub鼠標(biāo)移動(dòng)到標(biāo)簽時(shí)候設(shè)立線條顏色如下:PrivateSubLabel3_MouseMove(ButtonAsInteger,ShiftAsInteger,xAsSingle,YAsSingle)Line1.BorderColor=&HE0E0E0Line2.BorderColor=&HE0E0E0Line3.BorderColor=&H808080Line4.BorderColor=&H808080Line1.Visible=TrueLine2.Visible=TrueLine3.Visible=TrueLine4.Visible=TrueEndSub(2)顧客類型判斷在數(shù)據(jù)庫(kù)中建了一人yonghu表。在添加管理人員時(shí)有兩種默認(rèn)級(jí)別。管理員、普通顧客。管理員擁有對(duì)數(shù)據(jù)庫(kù)操作一切權(quán)限。普通顧客只有普通查看,數(shù)據(jù)轉(zhuǎn)換等。沒有刪除等操作功能。前顧客成功登錄后,會(huì)在主窗體狀態(tài)欄中顯示出當(dāng)前顧客及其顧客類型。重要代碼如下:設(shè)立當(dāng)前控件連接數(shù)據(jù)庫(kù)DimproviderAsStringDimdatasourceAsStringprovider="provider=Microsoft.jet.oledb.4.0"datasource="datasource="&App.Path&"\DB.mdb"WithAdodc1.Mode=adModeReadWrite.ConnectionString=provider&";"&datasource.CommandType=adCmdTable.RecordSource="yonghu".Refresh.Recordset.MoveFirstEndWith對(duì)顧客進(jìn)行判斷IfText1.Text=""ThenMsgBox"請(qǐng)輸入顧客名!",48,"提示"ExitSubEndIfAdodc1.Recordset.Find"顧客='"&Text1.Text&"'"IfAdodc1.Recordset.EOF=FalseAndText2.Text=Trim(Adodc1.Recordset.Fields("pass"))Thenmain.Text1.Text=Adodc1.Recordset.Fields("級(jí)別")main.Text2.Text=Adodc1.Recordset.Fields("顧客")main.ShowUnloadMeElseText1.Text=""Text2.Text=""MsgBox"登錄不成功,請(qǐng)重新登錄!",48,"提示"EndIf程序主界面程序主界面為本軟件顯示核心某些。一切重要操作及顯示都通過這里完畢。整個(gè)界面重要由五某些構(gòu)成。菜單某些、工具欄、左側(cè)操作欄、右側(cè)顯示欄以及狀態(tài)欄。①界面效果圖如下:圖4.2程序主界面左側(cè)操作欄和右側(cè)顯示欄會(huì)在下面內(nèi)容中做簡(jiǎn)介,當(dāng)前只簡(jiǎn)樸簡(jiǎn)介一下工具欄和狀態(tài)欄,以及主窗體各個(gè)事件。②它實(shí)現(xiàn)辦法如下所示:DimoAsAdodcSeto=DataGrid1.datasourceo.Recordset.Deleteo.Recordset.Update這里重要是用到了ado對(duì)像辦法。用這個(gè)辦法得到數(shù)據(jù)源。下面是整個(gè)工具欄運(yùn)營(yíng)時(shí)代碼:SelectCaseButton.IndexCase1sel.Show1Case3add.Show1Case5OnErrorGoTonext2DimsAsAdodcSets=DataGrid1.datasourceIfs.RecordSource="users"Thenedit.Show1EndIfnext2:Case7OnErrorResumeNextDimoAsAdodcSeto=DataGrid1.datasourceo.Recordset.Deleteo.Recordset.UpdateCase9back.Show1Case11WithAdodc1.Mode=adModeReadWrite.ConnectionString=provider&";"&datasource.CommandType=adCmdTable.RecordSource="users"'.RefreshEndWithSetDataGrid1.datasource=Adodc1DataGrid1.RefreshCalldxCase13UnloadMeEndSelectmain.Text1.Text=Adodc1.Recordset.Fields("級(jí)別")main.Text2.Text=Adodc1.Recordset.Fields("顧客")StatusBar1.Panels(2).Text="當(dāng)前顧客:"&Text2.TextStatusBar1.Panels(3).Text="顧客模式:"&Text1.TextStatusBar1.Panels(4).Text=Date&""&Time'設(shè)立普通顧客模式IfText1.Text="普通顧客"Thenyhgl.Visible=Falseg1.Visible=Falsejlsc.Visible=Falsegysz.Visible=FalseToolbar1.Buttons(5).Visible=FalseToolbar1.Buttons(6).Visible=FalseToolbar1.Buttons(7).Visible=FalseToolbar1.Buttons(8).Visible=FalseEndIfDataGrid1.Width=main.Width-SSTab1.WidthDataGrid1.Height=main.Height-StatusBar1.Height-CoolBar1.Height-750SSTab1.Height=main.Height-StatusBar1.Height-CoolBar1.Height-750Frame1.Height=main.Height-StatusBar1.Height-CoolBar1.Height-1200Frame2.Height=main.Height-StatusBar1.Height-CoolBar1.Height-1200Frame3.Height=main.Height-StatusBar1.Height-CoolBar1.Height-1200TreeView1.Height=main.Height-StatusBar1.Height-CoolBar1.Height-1500TreeView2.Height=main.Height-StatusBar1.Height-CoolBar1.Height-1500TreeView3.Height=main.Height-StatusBar1.Height-CoolBar1.Height-1500Y=main.Widthx=(Y-z)/4StatusBar1.Panels(1).Width=u+xStatusBar1.Panels(2).Width=v+xStatusBar1.Panels(3).Width=w+xStatusBar1.Panels(4).Width=m+xprovider="provider=Microsoft.jet.oledb.4.0"datasource="datasource="&App.Path&"\DB.mdb"WithAdodc1.Mode=adModeReadWrite.ConnectionString=provider&";"&datasource.CommandType=adCmdTable.RecordSource="users"'.RefreshEndWithWithAdodc2.Mode=adModeReadWrite.ConnectionString=provider&";"&datasource.CommandType=adCmdTable.RecordSource="gongyu".RefreshEndWithWithAdodc3.Mode=adModeReadWrite.ConnectionString=provider&";"&datasource.CommandType=adCmdTable.RecordSource="class".RefreshEndWithWithAdodc4.Mode=adModeReadWrite.ConnectionString=provider&";"&datasource.CommandType=adCmdTable.RecordSource="weisheng".RefreshEndWithWithAdodc5.Mode=adModeReadWrite.ConnectionString=provider&";"&datasourceEndWithWithAdodc6.Mode=adModeReadWrite.ConnectionString=provider&";"&datasource.CommandType=adCmdTable.RecordSource="dengji".RefreshEndWithWithAdodc7.Mode=adModeReadWrite.ConnectionString=provider&";"&datasource.CommandType=adCmdTable.RecordSource="qinshi".RefreshEndWithWithAdodc9.Mode=adModeReadWrite.ConnectionString=provider&";"&datasource.CommandType=adCmdTable.RecordSource="zichan".RefreshEndWithtreeview某些樹形顯示初始化在這里已經(jīng)做了幾種過程,調(diào)用即可。系統(tǒng)管理顧客管理①界面效果圖圖4.3顧客管理②界面制作與實(shí)現(xiàn)辦法這個(gè)界面總體來說各個(gè)控件比較簡(jiǎn)樸,但是作為一種添加刪除管理員操作,它已經(jīng)連接到了數(shù)據(jù)庫(kù),與數(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è)立代碼如下:DimproviderAsStringDimdatasourceAsStringprovider="provider=Microsoft.jet.oledb.4.0"datasource="datasource="&App.Path&"\DB.mdb"WithAdodc1.Mode=adModeReadWrite.ConnectionString=provider&";"&datasource.CommandType=adCmdTable.RecordSource="yonghu".RefreshEndWithOption1.Enabled=FalseOption2.Enabled=FalseIfAdodc1.Recordset.RecordCount=0ThenCommand2.Enabled=FalseCommand3.Enabled=FalseCommand5.Enabled=FalseCommand6.Enabled=FalseEndIfText2.Text=Text3.Text上一條與下一條功能一目了然,它們可以對(duì)當(dāng)前表進(jìn)行上一條記錄或下一條記錄依次查看。當(dāng)找到記錄后,可以對(duì)其進(jìn)行相對(duì)刪除、修改等操作。上一條記錄與下一條記錄在查看時(shí)有一種判斷。當(dāng)表中記錄移到最前面(BOF)或最背面(EOF)時(shí),會(huì)把上一條或下一條其中一種按鈕enable屬性設(shè)立為true。即不可此前查看或向后查看。上一條與下一條重要代碼如下:Adodc1.Recordset.MovePrevious'移動(dòng)記錄Command6.Enabled=TrueIfAdodc1.Recordset.BOFThenAdodc1.Recordset.MoveFirstCommand5.Enabled=FalseEndIfAdodc1.Recordset.MoveNext'移動(dòng)記錄Command5.Enabled=TrueIfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLastCommand6.Enabled=FalseEndIf添加顧客可以添加使用該管理軟件顧客。添加時(shí)候可以選取所添加人物級(jí)別。軟件默以為兩個(gè)級(jí)別:管理員、普通顧客。管理員擁有對(duì)此軟件管理操作等一切權(quán)力。普通顧客,只有普通查看、查詢、備份、添加等權(quán)力。沒有對(duì)記錄刪除等權(quán)力。在添加顧客時(shí)你可以選取一種且必要選取一種。然后輸入此顧客顧客名和密碼即可!添加顧客重要代碼:IfCommand1.Caption="添加"ThenCommand2.Enabled=FalseCommand5.Enabled=FalseCommand6.Enabled=FalseCommand1.Caption="擬定"Command3.Caption="取消"Adodc1.Recordset.AddNewOption1.Enabled=TrueOption2.Enabled=TrueText1.Enabled=TrueText2.Enabled=TrueText3.Enabled=TrueText2.Text=""ElseIfText1.Text=""ThenMsgBox"顧客名不能為空!",48,"提示"ElseIfText2.Text=""ThenMsgBox"密碼不能為空!",48,"提示"ElseIfText2.Text<>Text3.TextThenMsgBox"密碼兩次需一致!",48,"提示"ElseIfText4.Text=""ThenMsgBox"請(qǐng)選取所建顧客類型!",48,"提示"ElseCommand2.Enabled=TrueCommand3.Enabled=TrueCommand5.Enabled=TrueCommand6.Enabled=TrueCommand3.Caption="編輯"Command1.Caption="添加"Adodc1.Recordset.UpdateText1.Enabled=FalseText2.Enabled=FalseText3.Enabled=FalseText4.Enabled=FalseOption1.Value=FalseOption2.Value=FalseOption1.Enabled=FalseOption2.Enabled=FalseEndIf刪除操作可以把當(dāng)前記錄刪除掉。一經(jīng)刪除即不可以在恢復(fù)。因此在操作前要想好。刪除操作某些代碼:IfAdodc1.Recordset.RecordCount=1ThenCommand2.Enabled=FalseEndIfIf(MsgBox("你真想刪除當(dāng)前記錄嗎?",vbOKCancel,"系統(tǒng)提示"))=vbOKThenAdodc1.Recordset.DeleteAdodc1.Recordset.MoveFirstAdodc1.RefreshEndIf編輯操作可以對(duì)當(dāng)前所選取顧客進(jìn)行編輯,可以修改其顧客名與密碼。當(dāng)當(dāng)前顧客感覺自己顧客名稱或密碼有泄露時(shí),可以進(jìn)行修改。修改記錄即更新表中某一條記錄。編輯操作重要代碼如下:Command2.Enabled=FalseText1.Enabled=TrueText2.Enabled=TrueText3.Enabled=TrueText4.Enabled=TrueOption1.Enabled=TrueOption2.Enabled=TrueCommand1.Caption="擬定"ElseIfCommand3.Caption="取消"ThenCommand3.Caption="編輯"Command1.Caption="添加"Command2.Enabled=TrueCommand5.Enabled=TrueCommand6.Enabled=TrueText2.Text=Text3.TextText1.Enabled=FalseText2.Enabled=FalseText3.Enabled=FalseText4.Enabled=FalseOption1.Value=FalseOption2.Value=FalseOption1.Enabled=FalseOption2.Enabled=FalseEndIf公寓設(shè)立公寓設(shè)立可以說是本程序中一核心某些。由于所有設(shè)立都在此進(jìn)行。涉及公寓添加、修改、刪除。寢室添加、修改、刪除以及班級(jí)添加、修改和刪除操作。只有對(duì)的對(duì)這些設(shè)立進(jìn)行添加修改,才干輸入對(duì)的記錄。這里重要涉及到問題是datagrid顯示,以及treeview及時(shí)形成新構(gòu)造。尚有某些就是對(duì)表記錄復(fù)雜操作。在點(diǎn)擊sstab各版時(shí)候,要在這時(shí)重新生成寢室設(shè)立中樹型構(gòu)造,SelectCasePreviousTabCase0Callstartree1Case1Combo1.ClearDimIAsIntegerI=1IfAdodc1.Recordset.RecordCount<>0ThenAdodc1.Recordset.MoveFirstDoWhileI<Adodc1.Recordset.RecordCountCombo1.AddItem(Adodc1.Recordset.Fields("公寓名稱"))Adodc1.Recordset.MoveNextI=I+1LoopEndIfCallstartree1Case2Callstartree1EndSelectEndSub(1)公寓設(shè)立①公寓設(shè)立效果圖圖4.4公寓設(shè)立②界面制作與實(shí)現(xiàn)辦法在這個(gè)界面中重要用到了一種Sstab控件與一種顯示表中內(nèi)容Datagrid控件。以及起到美觀作用Frame控件。在右下角文本框中可以輸入想要添加公寓名稱。然后點(diǎn)擊添加即可完畢添加操作。Datagrid中會(huì)及時(shí)刷新顯示更新內(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ù)庫(kù)已連接。在添加前要判斷所寫公寓名稱與否對(duì)的,即與否輸入名稱,該記錄不能為空,不為空則對(duì)數(shù)據(jù)庫(kù)表進(jìn)行查找,判斷當(dāng)前輸入記錄與否已在表中存在,如果已存在,則會(huì)給出提示,不存在,添加成功。Adodc1.Recordset.Find"公寓名稱='"&Text2.Text&"'"IfAdodc1.Recordset.EOF=FalseThenMsgBox"此公寓已存在",,"提示"Adodc1.Recordset.MoveFirstExitSubEndIfText3.Text=""IfText2.Text=""ThenMsgBox"輸入所要添加公寓名稱",,"提示"ExitSubEndIf添加:Adodc1.Recordset.AddNewAdodc1.Recordset.Fields("公寓名稱")=Text2.TextAdodc1.Recordset.UpdateAdodc1.RecordSource="gongyu"Text2.Text=""SetDataGrid2.datasource=Adodc1DataGrid2.Refresh修改公寓名稱:IfText3.Text=""ThenMsgBox"選取要修改公寓",,"提示"ExitSubEndIfIfCommand12.Caption="修改"ThenText2.Text=Text3.TextLabel6.Caption="輸入想要修改公寓名稱"Command12.Caption="更新"Command3.Enabled=FalseCommand7.Enabled=FalseElseIfCommand12.Caption="更新"ThenCommand3.Enabled=TrueCommand7.Enabled=TrueLabel6.Caption="輸入想要添加公寓名稱"Adodc1.Recordset.Fields("公寓名稱")=Text2.TextAdodc1.Recordset.UpdateAdodc2.Recordset.ActiveConnection.Execute"updateqinshiset公寓名稱='"&Text2.Text&"'where公寓名稱='"&Trim(Text3.Text)&"'"Adodc2.Recordset.UpdateCommand12.Caption="修改"EndIfSetDataGrid2.datasource=Adodc1DataGrid2.RefreshAdodc5.Recordset.UpdateSetmain.DataGrid1.datasource=Adodc5main.DataGrid1.Refresh刪除公寓名稱IfText3.Text=""ThenMsgBox"選取所要?jiǎng)h除公寓名稱",,"提示"ExitSubEndIfIf(MsgBox("你真想刪除公寓名稱為"&Text3.Text&"記錄嗎?",vbOKCancel,"系統(tǒng)提示"))=vbOKThenAdodc1.Recordset.DeleteAdodc1.Recordset.UpdateEndIfText3.Text=""SetDataGrid2.datasource=Adodc1DataGrid2.Refresh(2)寢室設(shè)立①寢室設(shè)立效果圖圖4.5寢室設(shè)立②界面制作與實(shí)現(xiàn)辦法此界面實(shí)現(xiàn)相對(duì)比公寓設(shè)立來說相對(duì)復(fù)雜某些。用到控件重要是Sstab與Treeview。但是在程序方面比較復(fù)雜。在添加一種寢室前先要選取所要添加寢室所在公寓。這個(gè)公寓可以點(diǎn)擊下面樹中節(jié)點(diǎn),也可以在列表框中選取。樹中節(jié)點(diǎn)在點(diǎn)擊后會(huì)把父節(jié)點(diǎn)顯示在選取公寓背面列表框中,而選中節(jié)點(diǎn)會(huì)出當(dāng)前寢室名稱里。你也可以自己進(jìn)行添寫,確認(rèn)公寓后即可添加完畢了。添加后會(huì)把Treeview重新刷新一下。以顯示更新后記錄。添加源碼:Adodc1.RefreshAdodc1.Recordset.Find"公寓名稱='"&Combo1.Text&"'"IfAdodc1.Recordset.EOF=TrueThenMsgBox"此公寓不存在",,"提示"Adodc1.Recordset.MoveFirstExitSubEndIfIfCombo1.Text=""OrText1.Text=""ThenMsgBox"請(qǐng)輸入所要添加寢室及其所屬公寓",,"提示"ExitSubEndIfWithAdodc2.Recordset.AddNew.Recordset.Fields(0).Value=Combo1.Text.Recordset.Fields(1).Value=Text1.Text.Recordset.UpdateEndWithCombo1.Text=""Text1.Text=""Callstartree1修改操作可以把當(dāng)前選中寢室進(jìn)行名稱修改與其所屬公寓進(jìn)行修改。當(dāng)要對(duì)名稱進(jìn)行修改時(shí),先要選取所要修改寢室名,選取后會(huì)在寢室名稱里顯示出來,把當(dāng)前寢室名稱改成要修改寢室名稱,然后點(diǎn)擊修改即完畢名稱修改操作。當(dāng)要對(duì)當(dāng)前寢室所屬公寓進(jìn)行修改時(shí),需要先選取所要修改寢室,然后在上面公寓名稱后填寫所要修改寢室名稱。點(diǎn)擊修改后完畢此操作。但是這種操作不是常用。修改源碼:Adodc1.RefreshAdodc1.Recordset.Find"公寓名稱='"&Combo1.Text&"'"IfAdodc1.Recordset.EOF=TrueThenMsgBox"此公寓不存在",,"提示"Adodc1.Recordset.MoveFirstExitSubEndIfDimsqlAsStringOnErrorResumeNextIfCombo1.Text=""OrText1.Text=""ThenMsgBox"請(qǐng)?jiān)谙旅孢x取所要修改寢室",,"提示"ExitSubEndIf'sql="select*formqinshiwhere公寓名稱='"&Trim(Combo1.Text)&"'and寢室='"&Trim(Text1.Text)&"'"Adodc2.Recordset.ActiveConnection.Execute"updateqinshiset寢室='"&Text1.Text&"',公寓名稱='"&Trim(Combo1.Text)&"'where寢室='"&Trim(Text6.Text)&"'and公寓名稱='"&Trim(Text7.Text)&"'"Adodc2.Recordset.UpdateCombo1.Text=""Text1.Text=""Callstartree1刪除操作可以刪除掉當(dāng)前樹型顯示中任何一種子節(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è)立中樹型構(gòu)造重新生成,更新記錄。實(shí)現(xiàn)某些代碼如下所示:IfCombo1.Text=""OrText1.Text=""OrCombo1.Text="公寓管理系統(tǒng)"ThenMsgBox"選取所要?jiǎng)h除寢室",,"提示"ExitSubEndIfIf(MsgBox("你真想刪除"&Combo1.Text&""&"寢室為"&Text1.Text&"記錄嗎?",vbOKCancel,"系統(tǒng)提示"))=vbOKThenAdodc2.RefreshAdodc2.Recordset.ActiveConnection.Execute"deletefromqinshiwhere公寓名稱='"&Trim(Combo1.Text)&"'and寢室='"&Trim(Text1.Text)&"'"Adodc2.Recordset.UpdateEndIfCombo1.Text=""Text1.Text=""Callstartree1在treeview點(diǎn)擊時(shí)候,上面文本框中會(huì)顯示相應(yīng)記錄,這重要是對(duì)treeview進(jìn)行了設(shè)立,代碼如下:PrivateSubTreeView1_NodeClick(ByValNodeAsMSComctlLib.Node)OnErrorResumeNextText1.Text=TreeView1.SelectedItem.TextCombo1.Text=TreeView1.SelectedItem.ParentText6.Text=TreeView1.SelectedItem.TextText7.Text=TreeView1.SelectedItem.ParentEndSub(3)班級(jí)設(shè)立①班級(jí)設(shè)立效果圖圖4.6班級(jí)設(shè)立②界面制作與實(shí)現(xiàn)辦法此界面制作與公寓設(shè)立基本一致。在這個(gè)界面中重要用到了一種Sstab控件與一種顯示表中內(nèi)容Datagrid控件。以及起到美觀作用Frame控件。在右下角文本框中可以輸入想要添加班級(jí)名稱。然后點(diǎn)擊添加即可完畢添加操作。Datagrid中會(huì)及時(shí)刷新顯示更新內(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í)源碼:Adodc3.Recordset.Find"class='"&Text4.Text&"'"IfAdodc3.Recordset.EOF=FalseThenMsgBox"此班級(jí)已存在",,"提示"Adodc3.Recordset.MoveFirstExitSubEndIfText5.Text=""IfText4.Text=""ThenMsgBox"輸入所要添加班級(jí)名稱",,"提示"ExitSubEndIfAdodc3.Recordset.AddNewAdodc3.Recordset.Fields("class")=Text4.TextAdodc3.Recordset.UpdateAdodc3.RecordSource="class"Text4.Text=""SetDataGrid3.datasource=Adodc3DataGrid3.Refresh修改班級(jí)源碼:IfCommand10.Caption="修改"ThenText4.Text=Text5.TextLabel6.Caption="輸入想要修改班級(jí)名稱"Command10.Caption="更新"Command6.Enabled=FalseCommand9.Enabled=FalseElseIfCommand10.Caption="更新"ThenCommand9.Enabled=TrueCommand6.Enabled=TrueLabel6.Caption="輸入想要添加班級(jí)名稱"Adodc3.Recordset.Fields("class")=Text4.TextAdodc3.Recordset.UpdateCommand10.Caption="修改"EndIf刪除班級(jí)源碼:IfText5.Text=""ThenMsgBox"選取所要?jiǎng)h除班級(jí)名稱",,"提示"ExitSubEndIfIf(MsgBox("你真想刪除班級(jí)名稱為"&Text5.Text&"記錄嗎?",vbOKCancel,"系統(tǒng)提示"))=vbOKThenAdodc3.Recordset.DeleteAdodc3.Recordset.UpdateEndIfText5.Text=""SetDataGrid3.datasource=Adodc3DataGrid3.RefreshEndSub數(shù)據(jù)備份數(shù)據(jù)備份是一種數(shù)據(jù)庫(kù)軟件必不可少一某些,運(yùn)用它可以把當(dāng)前數(shù)據(jù)庫(kù)表進(jìn)行全面?zhèn)浞?,以備后來使用。由于在操作中也許會(huì)導(dǎo)致數(shù)據(jù)遭到破壞,或者是系統(tǒng)因素使數(shù)據(jù)庫(kù)損壞,或者是某些其他人為因素,這樣你可以用此功能把數(shù)據(jù)恢復(fù)到最后一次備份狀態(tài),使損失做到至少,經(jīng)常備份,操作起來更有安全感。①數(shù)據(jù)備份效果圖圖4.7數(shù)據(jù)備份效果圖②功能實(shí)現(xiàn)界面制作相對(duì)程序來說比較簡(jiǎn)樸,用到是coolbar控件,點(diǎn)擊按鈕可以選取備份途徑。然后點(diǎn)擊數(shù)據(jù)備份即可。窗體初始化某些代碼如下:Dimcnn1AsADODB.ConnectionDimrstschemaAsADODB.RecordsetDimstrcnnAsStringSetcnn1=NewADODB.Connectionstrcnn="provider=Microsoft.jet.oledb.4.0;"&"datasource="&App.Path&"\db.mdb"cnn1.OpenstrcnnSetrstschema=cnn1.OpenSchema(adSchemaTables)DoUntilrstschema.EOFtemp=rstschema!Table_NameIfLeft(temp,1)<>"M"ThenEndIfrstschema.MoveNextLoopcnn1.CloseOnErrorGoToerrPathName=App.Path&"\db.MDB"dbasize=FileLen(PathName)err:ExitSub數(shù)據(jù)備份某些在本程序中用到了一種模塊,在模塊中有一種辦法,dobackup。點(diǎn)擊備份按鈕后開始備份,代碼如下:IftxtDestination<>""ThenDoBackupPathName,txtDestinationMsgBox"備份成功!",,"提示"ElseIftxtDestination=""ThenMsgBox"Youmustspecifyadistinationforthebackup",vbCritical其中DoBackup為模塊中已定義辦法,在這里進(jìn)行調(diào)用。Dobackup實(shí)現(xiàn)辦法代碼如下所示:DimlFileOpAsLongDimlresultAsLongDimlFlagsAsLongDimSHFileOpAsSHFILEOPSTRUCTDimstrSourceDirAsStringDimstrDestinationDirAsStringScreen.MousePointer=vbHourglassBackupFolderName=strDestinationPathMkDirBackupFolderName&"\Backup-"&Format(Date,"yyyy.mm.dd")lFileOp=FO_COPYlFlags=lFlagsAndNotFOF_SILENTlFlags=lFlagsOrFOF_NOCONFIRMATIONlFlags=lFlagsOrFOF_NOCONFIRMMKDIRlFlags=lFlagsOrFOF_FILESONLYWithSHFileOp.wFunc=lFileOp.pFrom=strSourcePath&vbNullChar.pTo=strDestinationPath&"\Backup-"&Format(Date,"yyyy.mm.dd")&vbNullChar.fFlags=lFlagsEndWithlresult=SHFileOperation(SHFileOp)Screen.MousePointer=vbDefaultfrmBackupDba.lblStatus="BackupComplete"在備份分前先要選取一種備份途徑,點(diǎn)擊…那個(gè)按鈕開始進(jìn)行選取,實(shí)現(xiàn)辦法如下:DimstrTempAsStringstrTemp=fBrowseForFolder(Me.hwnd,"Selectbackuppath")IfstrTemp<>""ThentxtDestination=strTempEndIf數(shù)據(jù)恢復(fù)界面同上,它功能重要是在當(dāng)前數(shù)據(jù)庫(kù)遭到破壞后,可以運(yùn)用它來進(jìn)行數(shù)據(jù)恢復(fù),在數(shù)據(jù)恢復(fù)前要選取所要恢復(fù)數(shù)據(jù)庫(kù)途徑,如下:DimstrTempAsStringstrTemp=fBrowseForFolder(Me.hwnd,"RestoreFrom")IfstrTemp<>""ThentxtSource=strTempdbasize2=FileLen(txtSource&"\db.MDB")lblSelectedDba="SelectedBackupDatabaseis:"&Format((dbasize2/1024)/1024,"standard")&"MB."cmdRestore.Enabled=TrueEndIfErro:SelectCaseerr.NumberCase53'FileNotFoundlblSelectedDba="NoBackupatthislocation"Toolbar2.Enabled=FalseEndSelect它重要是查看數(shù)據(jù)庫(kù)與否存在,如果所恢復(fù)數(shù)據(jù)不存在,則會(huì)提示錯(cuò)誤。數(shù)據(jù)恢復(fù)也用到了一種辦法,在模塊中也已經(jīng)定義了該辦法DoRestore。數(shù)據(jù)恢復(fù)代碼如下:IfMsgBox("Restoringdatabasefromlocation"&txtSource&"willreplaceexistingdatabasefiles.DoyouwanttoContunue",vbYesNo)=vbYesThenDoRestoretxtSource.Text,App.PathIfNoDba=TrueThenMsgBox"DatabaseRestoredClickOktoExitProgram"frmRestoreDba.HideUnloadfrmRestoreDbaEndIfElselblStatus.Caption="DatabaseRestoreCanceled"EndIf其中DoRestore實(shí)現(xiàn)功能源碼如下所示:DEFSOURCE="PROVIDER=Microsoft.jet.oledb.4.0;PersistSecurityInfo=False;DataSource="DBName="\db.MDB;JetOLEDB:DatabasePassword=matrix-se;"SetDb=NewADODB.ConnectionDb.OpenDEFSOURCE&App.Path&DBNameDimlFileOpAsLongDimlresultAsLongDimlFlagsAsLongDimSHFileOpAsSHFILEOPSTRUCTDimstrSourceDirAsStringDimstrDestinationDirAsStringDb.CloseScreen.MousePointer=vbHourglassBackupFolderName=strDestinationPathlFileOp=FO_COPYlFlags=lFlagsAndNotFOF_SILENTlFlags=lFlagsOrFOF_NOCONFIRMATIONlFlags=lFlagsOrFOF_NOCONFIRMMKDIRlFlags=lFlagsOrFOF_FILESONLYWithSHFileOp.wFunc=lFileOp.pFrom=strSourcePath&"\db.MDB"&vbNullChar.pTo=strDestinationPath&vbNullChar.fFlags=lFlagsEndWithlresult=SHFileOperation(SHFileOp)SetDb=NewADODB.ConnectionDb.OpenDEFSOURCE&App.Path&DBNameScreen.MousePointer=vbDefaultfrmRestoreDba.lblStatus="RestoreComplete"闡明:本程序中此某些內(nèi)容參照了網(wǎng)上同類型代碼,對(duì)其進(jìn)行修改后得到此成型作品,從功能上來講,它已經(jīng)實(shí)現(xiàn)了它所要完畢工作,通過測(cè)試已經(jīng)沒有問題,但是實(shí)現(xiàn)源代碼,也只有某些掌握。這實(shí)屬本人精力與能力有限所置。學(xué)生宿舍管理學(xué)生請(qǐng)假學(xué)生請(qǐng)假與違規(guī)在一種公寓管理中是最常用問題了,因此在此軟件中加上了這兩項(xiàng)功能。用它們可以隨時(shí)記錄請(qǐng)假記錄。①學(xué)生請(qǐng)假記錄圖片顯示圖4.9學(xué)生請(qǐng)假效果圖②界面制作與實(shí)現(xiàn)此界面重要是對(duì)學(xué)生請(qǐng)假記錄做一種添加。運(yùn)用它可以把學(xué)生基本請(qǐng)假資料保存起來。其中日期是系統(tǒng)當(dāng)前日期,它是不可以進(jìn)行更改,然后在其他文本框中輸入其他詳細(xì)資料即可以。這里添加操作用是Adodc控件,所有文本框在初始時(shí)候沒有同Adodc綁定,而是在代碼中與數(shù)據(jù)庫(kù)中表字段進(jìn)行綁定,然后進(jìn)行添加操作。這樣做在使用時(shí)候有很大以便之處。第一是窗體在初始化時(shí)不會(huì)顯示任何記錄,不用設(shè)立文本框?yàn)榭盏纫幌盗胁僮?。第二是?dāng)進(jìn)行記錄輸入時(shí),發(fā)現(xiàn)問題不用輸入時(shí),不按添加按鈕記錄就不會(huì)進(jìn)行添加。注意是,在添加前要擬定所有文本框都要進(jìn)行詳細(xì)填寫,否則會(huì)提示輸入詳細(xì)信息。添加重要代碼如下:IfText1.Text=""OrText2.Text=""OrText3.Text=""OrText4.Text=""OrText5.Text=""OrText6.Text=""OrText7.Text=""OrText8.Text=""OrText9.Text=""ThenMsgBox"請(qǐng)輸入詳細(xì)信息!",,"系統(tǒng)提示"ElseWithAdodc1.Recordset.AddNew.Recordset.Fields(0).Value=Text1.Text.Recordset.Fields(1).Value=Text2.Text.Recordset.Fields(2).Value=Text3.Text.Recordset.Fields(3).Value=Text4.Text.Recordset.Fields(4).Value=Text5.Text.Recordset.Fields(5).Value=Text6.Text.Recordset.Fields(6).Value=Text7.Text.Recordset.Fields(7).Value=Text8.Text.Recordset.Fields(8).Value=Text9.Text.Recordset.UpdateEndWithSetmain.DataGrid1.datasource=Adodc1main.DataGrid1.RefreshEndIf學(xué)生違規(guī)①學(xué)生違規(guī)記錄圖片顯示圖4.10學(xué)生違規(guī)效果圖此界面與上面請(qǐng)假記錄差不多。它重要是對(duì)學(xué)生違規(guī)記錄做一種添加。其中日期也是系統(tǒng)當(dāng)前日期,它是不可以進(jìn)行更改,然后在其他文本框中輸入其他詳細(xì)資料即可以這里違規(guī)操作用也是Adodc控件,所有文本框在初始時(shí)候也沒有同Adodc綁定,它也是在代碼中與數(shù)據(jù)庫(kù)中表字段進(jìn)行綁定,然后進(jìn)行添加操作。其他操作同上面基本是一致,對(duì)于違規(guī)在主界面左側(cè)并沒有迅速顯示操作,只可以用記錄查看里面違規(guī)查看進(jìn)行選取查看。在這里所添寫記錄也要全面某些,重要是為了后來查找更為以便,如果不全,系統(tǒng)會(huì)提示?、谶`規(guī)某些代碼如下:在load事件里對(duì)數(shù)據(jù)庫(kù)鏈接解決,以及日期文本框設(shè)立,代碼如下:provider="provider=Microsoft.jet.oledb.4.0"datasource="datasource="&App.Path&"\DB.mdb"WithAdodc1.Mode=adModeReadWrite.ConnectionString=provider&";"&datasource.CommandType=adCmdTable.RecordSource="qingjia".RefreshEndWithText1.Text=DateText1.Enabled=False擬定無誤后,進(jìn)行添加,代碼如下:IfText1.Text=""OrText2.Text=""OrText3.Text=""OrText4.Text=""OrText5.Text=""OrText6.Text=""OrText7.Text=""OrText8.Text=""OrText9.Text=""ThenMsgBox"請(qǐng)輸入詳細(xì)信息!",,"系統(tǒng)提示"ElseWithAdodc1.Recordset.AddNew.Recordset.Fields(0).Value=Text1.Text.Recordset.Fields(1).Value=Text2.Text.Recordset.Fields(2).Value=Text3.Text.Recordset.Fields(3).Value=Text4.Text.Recordset.Fields(4).Value=Text5.Text.Recordset.Fields(5).Value=Text6.Text.Recordset.Fields(6).Value=Text7.Text.Recordset.Fields(7).Value=Text8.Text.Recordset.Fields(8).Value=Text9.Text.Recordset.UpdateEndWithSetmain.DataGrid1.datasource=Adodc1main.DataGrid1.Refresh信息查看記錄查看可以讓你對(duì)已錄入記錄進(jìn)行各種符合條件查找,顯示符合條件記錄。這里重要涉及四個(gè)方面查看:衛(wèi)生查看、請(qǐng)假查看、違規(guī)查看、資產(chǎn)查看。下面分別簡(jiǎn)介。在記錄查看中尚有其他三項(xiàng)查看方式,分別是請(qǐng)假、違規(guī)、資產(chǎn)三項(xiàng)記錄查看。它們實(shí)現(xiàn)辦法與窗體與上面衛(wèi)生查看基本相似。①請(qǐng)假查看圖4.14請(qǐng)假查看效果圖用它可以對(duì)當(dāng)前所有記錄以及有效日期內(nèi)記錄進(jìn)行查看。代碼如下:DimsqlAsStringDimsAsStrings=Combo1.TextIfOption1.Value=TrueThenSetmain.DataGrid1.datasource=Adodc1main.DataGrid1.RefreshElseIfOption2.Value=TrueThensql="select*fromqingjiawhere日期='"&Trim(s)&"'"WithAdodc3.Mode=adModeReadWrite.ConnectionString=provider&";"&datasource.CommandType=adCmdText.RecordSource=sql.RefreshEndWithSetmain.DataGrid1.datasource=Adodc3main.DataGrid1.RefreshEndIfUnloadMe在窗體load中要設(shè)立已經(jīng)添加日期,需要對(duì)表進(jìn)行條件查詢,代碼如下:s="selectdistinct日期fromqingjia"WithAdodc2.Mode=adModeReadWrite.ConnectionString

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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)論