管理信息系統(tǒng)課時1-7_第1頁
管理信息系統(tǒng)課時1-7_第2頁
管理信息系統(tǒng)課時1-7_第3頁
管理信息系統(tǒng)課時1-7_第4頁
管理信息系統(tǒng)課時1-7_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

圖書管理系統(tǒng)需求分析功能模塊圖圖書管理系統(tǒng)圖書管理系統(tǒng)圖書管理圖書資料系統(tǒng)管理值班管理投訴管理圖書登記圖書借閱圖書賠償查詢輸出增加新用戶修改密碼退出系統(tǒng)E-R圖圖書登記實體圖書登記實體書名編號購買日期定價類型圖書借閱實體圖書借閱實體書名編號姓名歸還日期圖書證號借閱日期備注查詢輸出實體查詢輸出實體按編號查詢按購買日期查詢圖書賠償實體圖書賠償實體書名編號姓名賠償金額圖書證號借閱日期類型解決方法破壞程度投訴管理實體投訴管理實體受訴日期受訴部分投訴內(nèi)容投訴日期編號投訴對象處理意見值班管理實體值班管理實體值班截止時間值班開始時間值班開始日期記事值班人值班截止日期結(jié)構(gòu)設計圖書管理模塊:實現(xiàn)圖書的登記、借閱、賠償圖書資料模塊:實現(xiàn)圖書的查詢輸出系統(tǒng)管理模塊:實現(xiàn)用戶的增加、刪除和修改投訴管理模塊:實現(xiàn)對管理人員的投訴值班管理模塊:實現(xiàn)管理人員的值班管理數(shù)據(jù)庫設計1.建立數(shù)據(jù)庫啟動Access數(shù)據(jù)庫,建立一個空數(shù)據(jù)庫book.mdb點擊“使用設計器創(chuàng)建表”出現(xiàn)下圖圖書登記圖書借閱圖書賠償圖書資料系統(tǒng)管理書名2.設置ODBC數(shù)據(jù)源程序-----ODBC-----數(shù)據(jù)“控制面板”----“管理工具”----“數(shù)據(jù)源”(ODBC)選“系統(tǒng)DSN”---點擊“添加”出現(xiàn)下圖所示選擇MicrosoftAccessDriver(*mdb),單擊“完成”點擊“選擇”按鈕,選擇BOOK數(shù)據(jù)庫所在位置,如下圖點擊“確定”,數(shù)據(jù)源名:book(如下圖)創(chuàng)建主窗口“工程”----“添加MDI窗體”設置該窗體屬性:在窗體上單擊右鍵,-----“菜單編輯器“,出現(xiàn)菜單編輯器對話框在對話框中輸入下表對應的標題和名稱。在里面輸入下表內(nèi)容標題名稱圖書管理tushuguanli….圖書登記checkin….圖書借閱borrow….圖書賠償tushupeichang圖書資料tushuziliao….查詢輸出chaxunshuchu投訴管理tousuguanli值班管理zhibanguanli系統(tǒng)管理xitongguanli….添加新用戶adduser….密碼更改changepwd….退出系統(tǒng)exit(注意:表中的….使用生成)點擊“確定”得到主菜單練習:設計如以下所示的主菜單窗體。人事管理系統(tǒng)主窗體,由員工管理、工資管理、考核管理和部門管理構(gòu)成。其中員工管理包括添加員工、刪改員工、查詢員工工資管理包括新建工資單、工資單查詢考核管理包括添加評價、刪改評價、查詢評價部門管理包括添加部門、刪改部門、部門列表界面設計(1)打開VB新建---標準EXE----打開2.連接數(shù)據(jù)庫選擇“工程”---“引用”,在出現(xiàn)的對話框中選擇”MicrosoftActiveXDateObjects2.0Library”,單擊”確定”。引用ADO連接數(shù)據(jù)庫3,添加公共模塊右鍵點擊“窗體”----“添加”-----“添加模塊”點擊“打開”,然后輸入以下語句:(如下圖)OptionExplicitPublicconnAsNewADODB.Connection'標記連接對象Publicselect_menuAsString'標記所選擇的菜單PublicuserIDAsString'標記當前用戶IDPublicuserpowAsString'標記用戶權限PublicsqlfindAsString'查詢語句Publicrs_data1AsNewADODB.Recordset'標記連接對象PublicfindokAsBoolean添加子窗體(1)子窗體建立在VB里面點擊“工程”----“添加窗體”,出現(xiàn)添加窗體菜單選擇“新建”---“窗體”,點擊“打開”,得到如下圖所示設置(在右邊的屬性欄設置)得到下圖所示子窗體同理練習添加以下七個子窗體“添加新用戶”窗體“修改密碼”窗體“圖書登記”窗體“圖書借閱”窗體“圖書賠償”窗體“查詢輸出”窗體“圖書資料”窗體(2)主窗體與子窗體的鏈接部分代碼:PrivateSubadduser_Click()frmadduser.ShowEndSubPrivateSubborrow_Click()frmjieyue.ShowEndSubPrivateSubchangepwd_Click()frmchangepwd.ShowEndSub舉一反三將剩下的代碼寫出各子窗體詳細設計(1)“用戶登錄(frmlogin)”窗口設計界面設計屬性設計代碼設計OptionExplicitDimcntAsInteger'記錄確定次數(shù)PrivateSubCommand1_Click()DimsqlAsStringDimrs_loginAsNewADODB.RecordsetIfTrim(txtuser.Text)=""Then'判斷輸入的用戶名是否為空MsgBox"沒有這個用戶",vbOKOnly+vbExclamation,""txtuser.SetFocusElsesql="select*from系統(tǒng)管理where用戶名='"&txtuser.Text&"'"rs_login.Opensql,conn,adOpenKeyset,adLockPessimisticIfrs_login.EOF=TrueThenMsgBox"沒有這個用戶",vbOKOnly+vbExclamation,""txtuser.SetFocusElse'檢驗密碼是否正確IfTrim(rs_login.Fields(1))=Trim(txtpwd.Text)ThenuserID=txtuser.Textuserpow=rs_login.Fields(2)rs_login.CloseUnloadMeMDIForm1.ShowElseMsgBox"密碼不正確",vbOKOnly+vbExclamation,""txtpwd.SetFocusEndIfEndIfEndIfcnt=cnt+1Ifcnt=3ThenUnloadMeEndIfExitSubEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()DimconnectionstringAsStringconnectionstring="provider=Microsoft.Jet.oledb.4.0;"&_"datasource=E:\圖書管理系統(tǒng)\book.mdb"conn.Openconnectionstringcnt=0EndSub(4)“圖書登記(frmdengji)”窗體5個(文本),5個(輸入框),7個(按鈕)在窗體控件欄“右鍵”---“部件”彈出下對話框,勾選三個部件,點擊確定??丶诔霈F(xiàn)(DataGrid)圖標,將其拖到窗體上,如下圖將控件欄的(adodc),拖到窗體中,出現(xiàn)下圖所示將adodc的點擊,出現(xiàn)下圖點擊“生成”按鈕,出現(xiàn)下圖所示,選擇“MJet4.0…”后點擊“下一步”點擊“測試連接”選擇adodc的屬性頁中的出現(xiàn)下圖所示:點擊“確定”對adodc控件,設置再選擇DataGrid控件,設置在將:所有的Text控件,設置Text1設置,同理,Text2Text3代碼設計PrivateSubCommand1_Click()OnErrorGoToadderrText1.SetFocusExitSubadderr:MsgBoxErr.DescriptionEndSubPrivateSubCommand2_Click()OnErrorGoTodeleteerrIfAdodc1.Recordset.BOF=TrueThenMsgBox"沒有記錄,無法刪除!"ExitSubEndIfWithAdodc1.RecordsetIfNot.EOFAndNot.BOFThenIfMsgBox("刪除當前記錄嗎?",vbYesNo+vbQuestion)=vbYesThen.Delete.MoveNextIf.EOFThen.MoveLastEndIfEndIfEndWithExitSubdeleteerr:MsgBoxErr.DescriptionEndSubPrivateSubCommand3_Click()IfAdodc1.Recordset.BOF=TrueThenMsgBox"沒有記錄,無法顯示!"ExitSubEndIfIfAdodc1.Recordset.EOFThenMsgBox"這是最后一條記錄",vbOKCancel+vbQuestionEndIfEndSubPrivateSubCommand4_Click()IfAdodc1.Recordset.BOF=TrueThenMsgBox"沒有記錄,無法顯示!"ExitSubEndIfIfAdodc1.Recordset.BOFThenMsgBox"這是第一條記錄",vbOKCancel+vbQuestionEndIfEndSubPrivateSubCommand5_Click()IfAdodc1.Recordset.BOF=TrueThenMsgBox"沒有記錄,無法顯示!"ExitSubEndIfIfAdodc1.Recordset.EOFThenMsgBox"紀錄空",vbOKCancel+vbQuestionEndElseEndIfExitSubEndSubPrivateSubCommand6_Click()IfAdodc1.Recordset.BOF=TrueThenMsgBox"沒有記錄,無法顯示!"ExitSubEndIfIfAdodc1.Recordset.RecordCount=0ThenMsgBox"空紀錄",vbOKCancel+vbQuestionEndElseEndIfEndSubPrivateSubCommand7_Click()MDIForm1.Showfrmdengji.HideEndSub同理,練習,自己設計如下幾個窗體(5)“圖書借閱(frmjieyue)”窗體(方法與“圖書登記”窗體設計步驟基本相同)界面設計(6)“圖書賠償”(frmpeichang)窗體(方法與“圖書登記”“圖書借閱“窗體設計步驟基本相同)界面設計(4)“圖書登記(frmdengji)”窗體5個(文本),5個(輸入框),7個(按鈕)在窗體控件欄“右鍵”---“部件”彈出下對話框,勾選三個部件,點擊確定。控件欄出現(xiàn)(DataGrid)圖標,將其拖到窗體上,如下圖將控件欄的(adodc),拖到窗體中,出現(xiàn)下圖所示將adodc的點擊,出現(xiàn)下圖點擊“生成”按鈕,出現(xiàn)下圖所示,選擇“MJet4.0…”后點擊“下一步”點擊“測試連接”選擇adodc的屬性頁中的出現(xiàn)下圖所示:點擊“確定”對adodc控件,設置再選擇DataGrid控件,設置在將:所有的Text控件,設置Text1設置,同理,Text2Text3代碼設計PrivateSubCommand1_Click()OnErrorGoToadderrText1.SetFocusExitSubadderr:MsgBoxErr.DescriptionEndSubPrivateSubCommand2_Click()OnErrorGoTodeleteerrIfAdodc1.Recordset.BOF=TrueThenMsgBox"沒有記錄,無法刪除!"ExitSubEndIfWithAdodc1.RecordsetIfNot.EOFAndNot.BOFThenIfMsgBox("刪除當前記錄嗎?",vbYesNo+vbQuestion)=vbYesThen.Delete.MoveNextIf.EOFThen.MoveLastEndIfEndIfEndWithExitSubdeleteerr:MsgBoxErr.DescriptionEndSubPrivateSubCommand3_Click()IfAdodc1.Recordset.BOF=TrueThenMsgBox"沒有記錄,無法顯示!"ExitSubEndIfIfAdodc1.Recordset.EOFThenMsgBox"這是最后一條記錄",vbOKCancel+vbQuestionEndIfEndSubPrivateSubCommand4_Click()IfAdodc1.Recordset.BOF=TrueThenMsgBox"沒有記錄,無法顯示!"ExitSubEndIfIfAdodc1.Recordset.BOFThenMsgBox"這是第一條記錄",vbOKCancel+vbQuestionEndIfEndSubPrivateSubCommand5_Click()IfAdodc1.Recordset.BOF=TrueThenMsgBox"沒有記錄,無法顯示!"ExitSubEndIfIfAdodc1.Recordset.EOFThenMsgBox"紀錄空",vbOKCancel+vbQuestionEndElseEndIfExitSubEndSubPrivateSubCommand6_Click()IfAdodc1.Recordset.BOF=TrueThenMsgBox"沒有記錄,無法顯示!"ExitSubEndIfIfAdodc1.Recordset.RecordCount=0ThenMsgBox"空紀錄",vbOKCancel+vbQuestionEndElseEndIfEndSubPrivateSubCommand7_Click()MDIForm1.Showfrmdengji.HideEndSub同理,練習,自己設計如下幾個窗體(5)“圖書借閱(frmjieyue)”窗體(方法與“圖書登記”窗體設計步驟基本相同)界面設計(6)“圖書賠償”(frmpeichang)窗體(方法與“圖書登記”“圖書借閱“窗體設計步驟基本相同)界面設計(7)“投訴管理”(frmtoushu)窗體(方法與“圖書登記”“圖書借閱“窗體設計步驟基本相同)開發(fā)方法與代碼設計與圖書借閱,圖書登記、圖書賠償基本相同,請嘗試自行開發(fā)(2)“增加用戶(frmadduser)”窗體4個(文本),3個(輸入框),2個(按鈕),一個(下拉框)密碼的Text框,要設置代碼PrivateSubCommand1_Click()DimsqlAsStringDimrs_addAsNewADODB.RecordsetIfTrim(Text1.Text)=""ThenMsgBox"用戶名不能為空",vbOKOnly+vbExclamation,""ExitSubText1.SetFocusElsesql="select*from系統(tǒng)管理"rs_add.Opensql,conn,adOpenKeyset,adLockPessimisticWhile(rs_add.EOF=False)IfTrim(rs_add.Fields(0))=Trim(Text1.Text)ThenMsgBox"已有這個用戶",vbOKOnly+vbExclamation,""Text1.SetFocusText1.Text=""Text2.Text=""Text3.Text=""Combo1.Text=""ExitSubElsers_add.MoveNextEndIfWendIfTrim(Text2.Text)=""ThenMsgBox"密碼不能為空,請重新輸入!",vbOKOnly+vbExclamation,"警告"Text2.Text=""Text2.SetFocusExitSubEndIfIfTrim(Text2.Text)<>Trim(Text3.Text)ThenMsgBox"兩次密碼不一致",vbOKOnly+vbExclamation,""Text2.SetFocusText2.Text=""Text3.Text=""ExitSubElseIfTrim(Combo1.Text)<>"system"AndTrim(Combo1.Text)<>"guest"ThenMsgBox"請選擇正確的用戶權限",vbOKOnly+vbExclamation,""Combo1.SetFocusCombo1.Text=""ExitSubElsers_add.AddNewrs_add.Fields(0)=Text1.Textrs_add.Fields(1)=Text2.Textrs_add.Fields(2)=Combo1.Textrs_add.Updaters_add.CloseMsgBox"添加用戶成功",vbOKOnly+vbExclamation,""UnloadMeEndIfEndIfEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()Combo1.AddItem"system"Combo1.AddItem"guest"EndSub(3)“修改密碼(frmchangepwd)”窗體2個(文本),2個(輸入框),2個(按鈕)密碼的Text框,要設置代碼PrivateSubCommand1_Click()Dimrs_changAsNewADODB.RecordsetDimsqlAsStringIfTrim(Text1.Text)<>Trim(Text2.Text)ThenMsgBox"密碼不一致!",vbOKOnly+vbExclamation,""Text1.SetFocusText1.Text=""Text2.Text=""Elsesql="select*from系統(tǒng)管理where用戶名='"&userID&"'"rs_chang.Opensql,conn,adOpenKeyset,adLockPessimisticrs_chang.Fields(1)=Text1.Textrs_chang.Updaters_chang.CloseMsgBox"密碼修改成功",vbOKOnly+vbExclamation,""UnloadMeEndIfEndSubPrivateSubCommand2_Click()UnloadMeEndSub(7)“圖書查詢”窗體(frmfind)代碼設計OptionExplicitDimrs_findAsNewADODB.RecordsetPrivateSubCommand1_Click()OnErrorGoTocmderrorDimfind_date1AsStringIfOption1.Value=TrueThensqlfind="select*from圖書登記where編號between'"&_Combo1(0).Text&"'"&"and"&"'"&Combo1(1).Text&"'"EndIfrs_data1.Opensqlfind,conn,adOpenKeyset,adLockPessimisticfrmdatamanage.displaygrid1UnloadMefrmdatamanage.Showcmderror:IfErr.Number<>0ThenMsgBox"請輸入正確的查詢條件!",vbOKOnly+vbExclamation,"警告"ExitSubEndIfEndSubPrivateSubCommand2_Click()UnloadMeMDIForm1.ShowEndSubPrivateSubForm_Load()DimiAsIntegerDimsqlAsStringIffindok=TrueThenrs_data1.CloseEndIfsql="select*from圖書登記orderby編號desc"rs_find.CursorLocation=adUseClientrs_find.Opensql,conn,adOpenKeyset,adLockPessimisticIfrs_find.EOF=FalseThen'添加編號Withrs_findDoWhileNot.EOFCombo1(0).AddItem.Fields(0)Combo1(1).AddItem.Fields(0).MoveNextLoopEndWithEndIfEndSubPrivateSubForm_Unload(CancelAsInteger)rs_find.CloseEndSub(8)“圖書資料(frmdatamanage)“窗體設置使用數(shù)據(jù)庫訪問控件代碼OptionExplicitDimrs_data2AsNewADODB.RecordsetDimselect_rowAsStringDimshowgrid2AsBooleanDimrs_customAsNewADODB.RecordsetDimmodifyAsBoolean'修改狀態(tài)標志PrivateSubCommand1_Click()UnloadMeEndSubPrivateSubForm_Load()OnErrorGoToloaderrorDimsqlAsStringsql="select*from書名"rs_custom.CursorLocation=adUseClientrs_custom.Opensql,conn,adOpenKeyset,adLockPessimisticWhileNotrs_custom.EOFCombo1.AddItemrs_custom.Fields(0)rs_custom.MoveNextWendfindok=Truemodify=False'非修改狀態(tài)displaygrid1'調(diào)用顯示Datagrid1子程序loaderror:IfErr.Number<>0ThenMsgBoxErr.DescriptionEndIfEndSub'顯示msflexgrid1子程序PublicSubdisplaygrid1()DimiAsIntegerOnErrorGoTodisplayerrorsetgridsetgridheadMSFlexGrid1.Row=0IfNotrs_data1.EOFThenrs_data1.MoveFirstDoWhileNotrs_data1.EOFMSFlexGrid1.Row=MSFlexGrid1.Row+1MSFlexGrid1.Col=0IfNotIsNull(rs_data1.Fields(0))ThenMSFlexGrid1.Text=rs_data1.Fields(0)ElseMSFlexGrid1.Text=""MSFlexGrid1.Col=1IfNotIsNull(rs_data1.Fields(1))ThenMSFlexGrid1.Text=rs_data1.Fields(1)ElseMSFlexGrid1.Text=""MSFlexGrid1.Col=2IfNotIsNull(rs_data1.Fields(2))ThenMSFlexGrid1.Text=rs_data1.Fields(2)ElseMSFlexGrid1.Text=""MSFlexGrid1.Col=3IfNotIsNull(rs_data1.Fields(3))ThenMSFlexGrid1.Text=rs_data1.Fields(3)ElseMSFlexGrid1.Text=""MSFlexGrid1.Col=4IfNotIsNull(rs_data1.Fields(4))ThenMSFlexGrid1.Text=rs_data1.Fields(4)ElseMSFlexGrid1.Text=""rs_data1.MoveNextLoopEndIfdisplayerror:IfErr.Number<>0ThenMsgBoxErr.DescriptionEndIfEndSubPublicSubsetgrid()DimiAsIntegerOnErrorGoToseterrorWithMSFlexGrid1.ScrollBars=flexScrollBarBoth.FixedCols=0.Rows=rs_data1.RecordCount+1.Cols=7.SelectionMode=flexSelectionByRowFori=0To.Rows-1.RowHeight(i)=315NextFori=0To.Cols-1.ColWidth(i)=1300NextiEndWithExitSubseterror:MsgBoxErr.DescriptionEndSubPublicSubsetgridhead()OnErrorGoTosetheaderrorMSFlexGrid1.Row=0MSFlexGrid1.Col=0MSFlexGrid1.Text="編號"MSFlexGrid1.Col=1MSFlexGrid1.Text="書名"MSFlexGrid1.Col=2MSFlexGrid1.Text="類型"MSFlexGrid1.Col=3MSFlexGrid1.Text="購買日期"MSFlexGrid1.Col=4MSFlexGrid1.Text="定價"ExitSubsetheaderror:MsgBoxErr.DescriptionEndSubPrivateSubForm_Unload(CancelAsInteger)findok=Falsers_data1.Closers_custom.CloseIfshowgrid2=TrueThenrs_data2.CloseEndIfEndSub(9)“值班管理“窗體使用到了和和控件OptionExplicitDimrs_zhibanAsNewADODB.RecordsetPrivateSubcmdadd_Click()OnErrorGoToadderrorIfcmdadd.Caption="確認新增記錄"Then'當此按鈕的狀態(tài)為為“增加記錄”時cmdadd.Caption="確定"'按鈕名稱改為“確定”cmddel.Enabled=FalseDataGrid1.AllowAddNew=TrueDataGrid1.AllowUpdate=True'設定datagrid可以增加記錄ElseIfNotIsNull(DataGrid1.Bookmark)ThenIfNotIsDate(Trim(DataGrid1.Columns("值班開始日期").CellText(DataGrid1.Bookmark)))ThenMsgBox"請按照格式y(tǒng)yyy-mm-dd輸入值班開始日期",vbOKOnly+vbExclamation,""ExitSubEndIfIfNotIsDate(Trim(DataGrid1.Columns("值班開始時間").CellText(DataGrid1.Bookmark)))ThenMsgBox"請按照格式hh-mm輸入值班開始時間",vbOKOnly+vbExclamation,""ExitSubEndIfIfNotIsDate(Trim(DataGrid1.Columns("值班截止日期").CellText(DataGrid1.Bookmark)))ThenMsgBox"請按照格式y(tǒng)yyy-mm-dd輸入值班截止日期",vbOKOnly+vbExclamation,""ExitSubEndIfIfNotIsDate(Trim(DataGrid1.Columns("值班截止時間").CellText(DataGrid1.Bookmark)))ThenMsgBox"請按照格式hh-mm輸

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論